Что именно означает настроить сетевой интерфейс вверх и вниз?

Скажем, у нас есть беспроводной интерфейс wlan0 . Что ip link set wlan0 up/down самом деле делает ip link set wlan0 up/down ? Питание и выключение сетевого адаптера? Многие онлайновые руководства по настройке сети небрежно описывают это как «приведение интерфейса в действие», но что это на самом деле означает?

Когда вы переводите интерфейс вверх / вниз, вы просто устанавливаете флаг в драйвере, что состояние интерфейса вверх или вниз. Сетевой адаптер все еще включен и может участвовать в WOL (Wake on LAN) и т. Д.

Если вы посмотрите на вывод интерфейса, здесь будет показан флаг состояния:

 $ ip al eth1 3: eth1:  mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe72:1426/64 scope link valid_lft forever preferred_lft forever 

заявить UP

Если бы я сказал ip перевести его в нерабочее состояние:

 $ ip l set eth1 down $ ip al eth1 3: eth1:  mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 08:00:27:72:14:26 brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 brd 192.168.56.255 scope global eth1 valid_lft forever preferred_lft forever 

Но как узнать, что он не выключен?

Просто. Используйте ethtool для дальнейшего опроса NIC.

 $ ethtool eth1 Settings for eth1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown (auto) Supports Wake-on: umbg Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: no 

Ключевым элементом этого вывода является Link detected: no . Это потому, что он находится в состоянии ВНИЗ. Если мы вернем его обратно:

 $ ethtool eth1 | grep Link Link detected: yes 

В этом случае Link detected: yes означает, что сетевой адаптер включен и может обнаружить подключенный к нему кабель Ethernet.

Команды, использованные выше

Обратите внимание, что я использую сокращенные обозначения для команд:

  • == addr
  • l == list

Есть и другие … Команда ip «достаточно умна», чтобы определить, какую команду или подкоманду вы используете, и может вывести ее.

Рекомендации

  • Шпаргалка по ip для Red Hat Enterprise Linux
  • Шпаргалка по командам ‘ip’
  • baturin.org iproute2 шпаргалка