'ip addr' mostra 'UP', mesmo que não exista nenhum endereço associado a essa interface

16

Gostaria de entender o que significa uma interface de rede? Porque o comando ip addr ou ifconfig mostra uma interface como ativa mesmo quando não há IP associado a ela.

por exemplo, no RHEL7:

[root@IDCDVAM887 ~]# ifconfig ens256
ens256: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:50:56:9e:19:5b  txqueuelen 1000  (Ethernet)
        RX packets 229406  bytes 59265584 (56.5 MiB)
        RX errors 0  dropped 229454  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(ou)

[root@IDCDVAM887 ~]# ip addr show ens256
5: ens256: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 00:50:56:9e:19:5b brd ff:ff:ff:ff:ff:ff

Qual é o uso real de mostrar como UP quando a interface não tem IP? Eu acredito que quando não há IP, não poderia haver comunicação sobre isso? Então qual é o uso disso?

    
por Srikanth Ganesan 01.09.2014 / 13:25

4 respostas

17

O LOWER_UP é o estado do link Ethernet (ou outro protocolo da camada de enlace). É definido como Driver signals L1 up , que basicamente significa que o cabo está instalado e pode ver outro dispositivo na outra extremidade do cabo.

O UP significa que foi ativado. Isso pode ser controlado por você (ou por um script) usando o comando ip link set <device> up of ifconfig <device> up .

Existem outros protocolos, como IPX , que usam Ethernet, mas não têm um endereço IP, pois não são parte da pilha do Protocolo da Internet. Por isso, é perfeitamente aceitável que o link seja UP , mas não tenha um endereço IP.

    
por 01.09.2014 / 13:51
7

O status UP é o estado administrativo da interface, ou seja, se a interface foi ativada. Você pode ativar qualquer interface usando, por exemplo,

ip l s eth0 up

Se o cabo estiver conectado e um link for estabelecido, a interface também obterá o estado operacional de RUNNING .

Muitos cartões inibem a geração de operadoras de saída se o estado administrativo não for UP , e uma interface que não seja UP também não pode ser RUNNING , portanto, se eu definir

ip l s eth0 down

Espero que minha interface local perca UP e RUNNING , e a interface correspondente no lado remoto também não seja mais RUNNING (mas ainda UP , por isso, se eu ativar meu lado novamente, eu recebo um link).

Esse é apenas o link Ethernet. No topo do link, vários protocolos podem ser vinculados, sendo um deles o IPv4. Por padrão, o IPv4 está ligado a todas as interfaces que suportam a família de protocolos.

Quando o protocolo está vinculado, posso enviar e receber pacotes com qualquer endereço atribuído à interface. Se nenhum endereço for atribuído, isso significa simplesmente que não há um endereço válido que possa ser usado para pacotes de saída (portanto, o envio de um pacote falha), nem qualquer endereço de unicast que um pacote de entrada possa ser endereçado ao sistema. somente pacotes broadcast / multicast podem ser recebidos).

Isso não diz respeito à camada de links, já que ela só estabelecerá um link.

Certos programas, como o cliente DHCP, têm permissão especial para enviar pacotes formatados arbitrariamente, preenchendo um endereço de origem de fantasia ou 0.0.0.0 e para receber pacotes que chegam, independentemente de serem destinados à máquina local. Isso é usado durante a configuração do endereço IP automático, onde a solicitação DHCP é enviada usando um endereço de origem de 0.0.0.0 e a resposta do servidor é endereçada ao endereço de difusão 255.255.255.255 .

Assim, há um caso de uso válido em que os pacotes IP são trocados mesmo sem um endereço ligado à interface.

Além do IPv4, há também IPv6, IPX, AppleTalk, etc., que podem compartilhar a mesma camada física. Assim que o link é estabelecido, qualquer um desses protocolos de nível superior pode usar sua própria seqüência de ativação para entrar em um estado operacional.

    
por 01.09.2014 / 18:22
3

uma interface pode estar "ativa" mesmo sem nenhum endereço. O status "up" refere-se à camada de enlace de dados (também conhecida como camada 2), ou seja, "up" significa que você pode enviar e receber pacotes ethernet. IP é algo construído sobre ele.

Um exemplo de configuração em que uma interface está ativa, mas não tem um IP (e não deve ser atribuído a ela) é quando a interface é uma ponte escrava.

    
por 01.09.2014 / 13:53
0

magicamente, se você especificar a opção -4 ou -oneline , ela realmente mostrará a interface "em execução" como você imaginou.

Para facilitar a leitura, usei a opção -brief , mas não importa a conclusão.

veja o resultado da opção up , ele ainda mostra um dispositivo DOWN .

ubuntu@ubuntu:~$ ip --brief address show up
lo               UNKNOWN        127.0.0.1/8 ::1/128
eno1             DOWN
enp130s0f0       UP             100.79.223.150/26 fe80::a9e:1ff:fed9:2864/64

veja o resultado da opção -4 , todos com endereços, sem DOWN devices.

ubuntu@ubuntu:~$ ip -4 -brief address show
lo               UNKNOWN        127.0.0.1/8
enp130s0f0       UP             100.79.223.150/26

veja o resultado da opção -online , todos com endereços, sem DOWN devices, mas dividindo endereços em IPv4 e IPv6.

ubuntu@ubuntu:~$ ip -oneline address show
1: lo    inet 127.0.0.1/8 scope host lo\       valid_lft forever preferred_lft forever
1: lo    inet6 ::1/128 scope host \       valid_lft forever preferred_lft forever
4: enp130s0f0    inet 100.79.223.150/26 brd 100.79.223.191 scope global enp130s0f0\       valid_lft forever preferred_lft forever
4: enp130s0f0    inet6 fe80::a9e:1ff:fed9:2864/64 scope link \       valid_lft forever preferred_lft forever
    
por 02.10.2018 / 06:00

Tags