nomes de interface de rede previsíveis no systemd

14

A versão recente do Ubuntu e do Debian (trecho) traz um novo esquema de nomenclatura de interface de rede.

Agora, ao atualizar de um sistema que usa nomes de estilo antigo como "eth0", eu gostaria de saber antes de inicializar qual será o novo nome.

Como posso fazer isso? Existe uma invocação mágica de "systemd" que eu possa usar para editar / etc / network / interface antes de inicializar (e subsequentemente perder conectividade de rede)?

    
por Ralf Hildebrandt 20.06.2017 / 17:01

4 respostas

5

Existem dois esquemas diferentes disponíveis: biosdevname versus nome previsível da interface de rede.

biosdevname

Biosdevname parece ser o padrão no Ubuntu. É ativado instalando o pacote biosdevname.

O biosdevname de uma interface pode ser encontrado em:

biosdevname -i eth0

Nomes de interface de rede previsíveis

Eu acredito que este é o padrão no Debian stretch, mas precisa ser explicitamente habilitado na atualização de versões anteriores.

O nome previsível da eth0 pode ser encontrado em:

udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'
    
por 28.06.2017 / 11:38
2

O novo esquema é aparentemente chamado de "nomes de interface de rede previsíveis", mas não estou encontrando muita documentação sobre como prever o nome. Tudo que eu encontrei sobre isso basicamente aponta para este código-fonte comentário (que aponta para o primeiro link). A partir do comentário, não está claro como saber qual esquema de endereçamento o udev usará para o nome do dispositivo de rede.

De acordo com o primeiro link, você pode desativá-lo e usar os nomes tradicionais, adicionando net.ifnames=0 na linha de comando do kernel no Grub. De acordo com este comentário , pode ser necessário você planeja criar uma interface marcada com VLAN, já que a extensão adicionada tornará o nome da interface muito longo.

Caso contrário, talvez seja melhor fazer novamente a pergunta para explicar o que você está tentando fazer com o nome (por exemplo, configurar a interface por meio de ansible ou algo semelhante)

    
por 20.06.2017 / 18:50
2

Não tenho certeza se esse ainda é o caso das versões atualizadas, mas nos sistemas antigos consegui criar um arquivo vazio em /etc/udev/rules.d/80-net-name-slot.rules e desativaria o recurso de nomenclatura "previsível". Você também pode criar sua própria regra e nomear as interfaces por conta própria com base no endereço mac ou nas conexões PCI / USB.

    
por 20.06.2017 / 23:48
0

Esta documentação pode ajudar um pouco. Veja a seção em "O que precisamente mudou em v197?". Sim, percebo que isso tem um valor um pouco limitado, mas pode dar a você uma nova maneira de pesquisar mais.

    
por 20.06.2017 / 22:04