Как проверить, активен ли сетевой интерфейс в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь проверять статус сетевых интерфейсов в системе Linux. Сетевые интерфейсы являются важнейшими компонентами для сетевого подключения, и понимание их статуса необходимо для устранения неполадок и настройки системы.

Путем выполнения практических упражнений вы будете использовать мощные инструменты командной строки, такие как ip, ifconfig и nmcli, чтобы проверить детали интерфейсов, убедиться в их работоспособности и получить информацию о их настройке. По завершении этого практического занятия вы будете хорошо разбираться в определении, активен ли сетевой интерфейс и готов ли он к обмену данными.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ifconfig -.-> lab-558735{{"Как проверить, активен ли сетевой интерфейс в Linux"}} linux/ip -.-> lab-558735{{"Как проверить, активен ли сетевой интерфейс в Linux"}} end

На этом этапе вы научитесь проверять статус сетевых интерфейсов в системе Linux с использованием команды ip link show. Сетевые интерфейсы - это точки, через которые ваше компьютер подключается к сети, например, по Wi-Fi или Ethernet.

Команда ip является мощным инструментом для настройки сети в Linux. Подкоманда link используется для управления сетевыми устройствами, а show отображает информацию о них.

Если вы еще не открыли терминал, сделайте это. Для этого нажмите на значок Xfce Terminal слева на рабочем столе.

Теперь введите следующую команду в терминал и нажмите Enter:

ip link show

Вы увидите вывод, похожий на следующий:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

Разберем вывод по частям:

  • 1: lo:: Это локальный петлевой интерфейс (loopback interface). Это виртуальный интерфейс, который компьютер использует для общения с самим собой. Он всегда находится в активном состоянии.
  • 2: eth0:: Скорее всего, это ваш основной сетевой интерфейс, часто представляющий Ethernet-соединение.
  • <BROADCAST,MULTICAST,UP,LOWER_UP>: Это флаги, указывающие на возможности и текущее состояние интерфейса. Флаги UP и LOWER_UP означают, что интерфейс активен и готов к отправке и приему данных.
  • mtu 1500: Максимальная передаваемая единица (Maximum Transmission Unit) - это максимальный размер пакета, который можно отправить без фрагментации.
  • qdisc mq: Дисциплина очереди (Queueing discipline), которая управляет отправкой пакетов.
  • state UP: Текущее операционное состояние интерфейса.
  • mode DEFAULT: Режим работы.
  • group default: Группа, к которой принадлежит интерфейс.
  • qlen 1000: Длина передающей очереди.
  • link/ether 02:42:ac:11:00:02: MAC-адрес интерфейса.

Команда ip link show является базовым инструментом для быстрой проверки статуса и базовой информации о ваших сетевых интерфейсах.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка интерфейса по выводу команды ifconfig

На этом этапе вы будете использовать команду ifconfig для просмотра информации о сетевых интерфейсах. Хотя ip является современным стандартом, ifconfig все еще широко используется и предоставляет аналогичную информацию о ваших сетевых интерфейсах.

Команда ifconfig используется для настройки или просмотра конфигурации сетевого интерфейса. При использовании без аргументов она отображает статус всех активных сетевых интерфейсов.

Введите следующую команду в терминал и нажмите Enter:

ifconfig

Вы увидите вывод, похожий на следующий:

eth0: flags=... mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 1000  (Ethernet)
        RX packets ... bytes ...
        RX errors ... dropped ... overruns ... frame ...
        TX packets ... bytes ...
        TX errors ... dropped ... overruns ... carrier ... collisions ...

lo: flags=... mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets ... bytes ...
        RX errors ... dropped ... overruns ... frame ...
        TX packets ... bytes ...
        TX errors ... dropped ... overruns ... carrier ... collisions ...

Рассмотрим основную информацию, предоставляемую командой ifconfig:

  • eth0: и lo:: Названия сетевых интерфейсов.
  • flags=...: Аналогично флагам в команде ip link show, они указывают на состояние и возможности интерфейса.
  • inet 172.17.0.2: IPv4-адрес, присвоенный интерфейсу.
  • netmask 255.255.0.0: Сетевая маска, используемая для определения сетевой и узловой частей IP-адреса.
  • broadcast 172.17.255.255: Широковещательный адрес для сети.
  • ether 02:42:ac:11:00:02: MAC-адрес интерфейса.
  • RX packets ... bytes ...: Статистика по принятым пакетам и байтам.
  • TX packets ... bytes ...: Статистика по отправленным пакетам и байтам.

При сравнении ifconfig и ip link show можно заметить, что они предоставляют похожую информацию, но в разном формате. ifconfig часто предпочитается для быстрого просмотра IP-адресов и сетевых масок, в то время как ip более универсален для различных сетевых настроек.

Практикуйте использование обеих команд, чтобы привыкнуть к их выводу.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка деталей интерфейса с использованием nmcli

На этом этапе вы будете изучать детали сетевых интерфейсов с помощью команды nmcli. nmcli - это инструмент командной строки для управления NetworkManager, службой, которая управляет сетевыми соединениями на многих системах Linux. Для некоторых задач он предоставляет более удобный способ взаимодействия с сетевыми настройками по сравнению с ip или ifconfig.

Чтобы просмотреть сводку о ваших сетевых устройствах с помощью nmcli, введите следующую команду и нажмите Enter:

nmcli device status

Вы увидите вывод, похожий на следующий:

DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  Wired connection 1
lo      loopback  unmanaged  --

В этом выводе показаны имя устройства (DEVICE), его тип (TYPE), текущее состояние (STATE) и активное соединение (CONNECTION).

Чтобы получить более подробную информацию о конкретном интерфейсе, вы можете использовать команду nmcli device show, за которой следует имя интерфейса. Рассмотрим детали для интерфейса eth0.

Введите следующую команду и нажмите Enter:

nmcli device show eth0

Вы увидите обширный вывод, содержащий детали о интерфейсе eth0, включая его аппаратный адрес, IP-адреса, DNS-серверы и многое другое. Вывод будет выглядеть приблизительно так (части вывода сокращены для краткости):

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         02:42:AC:11:00:02
GENERAL.STATE:                          100 (managed)
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         172.17.0.2/16
IP4.GATEWAY:                            172.17.0.1
IP4.ROUTE[1]:                           dst = 172.17.0.0/16, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             ...
IP6.ADDRESS[1]:                         ...
IP6.GATEWAY:                            ...

nmcli особенно полезен для написания скриптов для настройки сети и для пользователей, которые предпочитают более структурированный вывод, чем ifconfig.

Теперь вы узнали три разных команды (ip link show, ifconfig и nmcli) для проверки сетевых интерфейсов в Linux. Каждая команда предоставляет похожую информацию, но с разным уровнем детализации и форматом.

Нажмите Продолжить, чтобы завершить этот практический урок.

Резюме

В этом практическом уроке вы узнали, как проверять статус сетевых интерфейсов в Linux с помощью различных инструментов командной строки. Сначала вы изучили команду ip link show, мощный инструмент для отображения подробной информации о сетевых устройствах, включая их состояние (UP или DOWN) и возможности. Эта команда дает полное представление о всех доступных интерфейсах, таких как локальный петлевой интерфейс (lo) и основной сетевой интерфейс (например, eth0).

Изучая вывод команды ip link show, вы можете определить важные флаги, такие как UP и LOWER_UP, чтобы убедиться, что интерфейс активен и готов к обмену данными. Этот первый шаг дает базовое понимание сетевой связности вашей системы на уровне канального уровня.