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

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

Estou tentando buscar informações sobre por que o nome de uma 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 obtenho:

# 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 queeth0@if10

Como esta @parte é chamada/se refere?

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

Responder1

eth0@if10significa:

  • sua interface de rede ainda tem um nome simples eth0e as ferramentas e aplicativos de rede só podem se referir a esse nome, sem o apêndice @. (Como nota lateral, este é provavelmente um veth peer, mas o nome não precisa refletir isso.)
  • @if10significa: eth0está conectado a alguma (outra) interface de rede com índice 10 (decimal). Como também é link-netnsid 0mostrado, essa outra interface de rede está em outro namespace de rede (espécie de pilha IP virtual), presumivelmente o namespace de rede raiz (também conhecido como host).

Se você usar ip link showem seu host, e não em seu contêiner, uma das interfaces de rede listadas deverá ter um @9apêndice; o nome da interface provavelmente começará com veth.... Esta interface é o ponto da eth0@10interface que você perguntou. As interfaces Veth vêm em pares conectados entre si, como um cabo virtual.

Portanto, @...é um apêndice criado pela ipferramenta e não faz parte dos nomes das interfaces de rede do Linux. O número após @ refere-se a outra interface de rede com o número de índice mostrado após @. Os números de índice são impressos antes dos nomes das interfaces 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 ..é bastante complicado, consultecomo encontrar o namespace de rede de um veth peer ifindex.

ATUALIZAÇÃO 2023:A Siemens acaba de lançarEdgesharkcomo OSS que fornece uma interface de usuário gráfica agradável que renderiza os relacionamentos de interfaces de rede em contêineres, o host, etc.

Responder2

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 a NIC.

informação relacionada