O que exatamente significa definir uma interface de rede para cima e para baixo?

3

Digamos que temos a interface sem fio wlan0 . O que o ip link set wlan0 up/down realmente faz? Potência e desligamento da NIC? Um monte de guias de configuração de rede on-line desinteressadamente descrevem como simplesmente "trazendo a interface para cima", mas o que isso realmente significa?

    
por JoshuaRLi 09.07.2018 / 00:12

1 resposta

3

Quando você traz a interface para cima / baixo, você está apenas definindo um sinalizador no driver de que o estado da interface está ativo ou inativo. A NIC ainda está ligada e pode participar do WOL (Wake on LAN), etc.

Se você observar a saída da interface, o sinalizador de estado será mostrado aqui:

$ ip a l eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> 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

state UP

Se eu dissesse ip para colocá-lo no estado inativo:

$ ip l set eth1 down

$ ip a l eth1
3: eth1: <BROADCAST,MULTICAST> 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

Mas como você pode saber que não está desligado?

Simples. Use o ethtool para interrogar a NIC ainda mais.

$ 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

A peça chave dessa saída é o Link detected: no . Isso é porque está em um estado DOWN. Se o trouxermos de volta:

$ ethtool eth1 | grep Link
    Link detected: yes

Nesse caso, o Link detected: yes significa que a NIC está UP e pode detectar um cabo Ethernet conectado a ela.

Comandos usados acima

Observe que estou usando as notações abreviadas de comandos:

  • a == addr
  • l == list

Há mais ... O comando ip é "inteligente o suficiente" para descobrir qual comando ou subcomando você está usando e pode inferir isso.

Referências

por 09.07.2018 / 00:34