O nome da interface de rede tem um sinal de arroba - o que é isso?

6

Estou tentando descobrir informações sobre por que um nome de interface de rede teria um sinal de arroba, mas há muito ruído nos resultados que estou obtendo até agora (não tenho a terminologia correta para pesquisar)

Eu tenho um contêiner LXC em um host Ubuntu. Dentro do container eu corro e pego:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
9: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:16:3e:37:a0:7a brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.3.195/24 brd 10.0.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe37:a07a/64 scope link 
       valid_lft forever preferred_lft forever

Observe que eth0@if10

O que é essa parte @ chamada / referindo-se a?

No host não existe if10 , outro contêiner que eu tenho tem um eth0@if8 - devo assumir que isso é parte da manipulação de traduções de rede do LXC / containers de alguma forma, mas eu não tinha notado isso anteriormente, e me pergunto se é um complemento à ponte, que pode existir em outros cenários?

    
por taifwa 14.04.2017 / 11:42

2 respostas

2

eth0@if10 significa:

  • sua interface de rede ainda é chamada eth0 , e os aplicativos e ferramentas de rede só podem se referir a esse nome, sem o @ apêndice. (Como um sidenote, este é provavelmente um colega de veth, mas o nome não precisa refletir isso.)
  • @if10 significa: eth0 está conectado a alguma (outra) interface de rede com índice 10 (decimal). Como há também um link-netnsid 0 mostrado, essa outra interface de rede está em outro namespace de rede (tipo de pilha IP virtual), presumivelmente o namespace de rede raiz (host a.k.a.).

Se você usar ip link show em seu host e não em seu contêiner, uma das interfaces de rede listadas deverá ter um apêndice @9 ; o nome da interface provavelmente começará com veth... . Essa interface é o par da interface eth0@10 que você perguntou. As interfaces do Veth vêm em pares conectadas umas às outras, como um cabo virtual.

Portanto, o @... é um apêndice criado pela ferramenta ip e não faz parte dos nomes das interfaces de rede do Linux. O número após o @ refere-se a outra interface de rede com o número de índice mostrado após o @. Os números de índice são impressos antes dos nomes da interface de rede, como em 9: eth0@if10 . A interface de rede peer pode estar em um namespace de rede diferente.

Infelizmente, encontrar o namespace de rede correto para o link-netnsid .. está bastante envolvido, consulte como encontrar o namespace de rede de um peer ifindex .

    
por 23.06.2018 / 22:58
0

Verifique se há um arquivo como 70-persistent-net.rules em /etc/udev/rules.d ou em /lib/udev/rules.d. Deve haver uma linha com o nome da interface de rede e o endereço MAC. Alterar isso e reinicializar deve renomear o NIC.

    
por 06.12.2017 / 21:03