Como posso mostrar os nomes eth0 antigos e também renomear as interfaces de rede no debian 9 stretch?

12

Eu gostaria de fazer 2 coisas:

1) Reverta as interfaces para o antigo nome clássico: eth0 em vez de ens33.

2) Renomeie as interfaces da maneira que desejo, para que, por exemplo, eu possa chamar a interface eth0 como wan0 ou atribuir eth1, eth2 e assim por diante no endereço mac desejado.

user3450548
fonte

Respostas:

21

Supondo que você acabou de instalar o seu debian 9 stretch.

1) Para reverter os nomes antigos para as interfaces, faça:

nano /etc/default/grub

edite a linha GRUB_CMDLINE_LINUX=""paraGRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

então inicie um grub-mkconfig para aplicar as alterações dentro do gerenciador de inicialização

grub-mkconfig -o /boot/grub/grub.cfg

Você precisa de uma reinicialização depois disso.


2) Para renomear as interfaces, use:

  • Para apenas uma modificação temporária, dê uma olhada na resposta @xhienne.

  • Para uma modificação permanente:

Comece criando / editando o arquivo /etc/udev/rules.d/70-persistent-net.rules .

nano /etc/udev/rules.d/70-persistent-net.rules

E insira linhas internas como:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# interface with MAC address "00:0c:30:50:48:ab" will be assigned "eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Se você deseja atribuir, por exemplo, um nome como wan0 a eth0, pode usar o meu exemplo:

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"

Após a próxima reinicialização ou usando a rede de serviço, você deverá ver as alterações aplicadas.


EXTRA: Lembre - se de que, após todas essas modificações, você deverá editar seu arquivo / etc / network / interfaces, substituindo os nomes das interfaces antigas pelas novas!


EXTRA: Se você deseja saber qual endereço MAC suas interfaces têm, basta fazer um

ip addr show

e procure no link / seção.

user3450548
fonte
Onde essas informações podem ser encontradas na documentação oficial do Linux?
precisa saber é o seguinte
5

Para a pergunta 1), consulte a resposta do usuário3450548 . Para a pergunta 2), você pode fornecer qualquer nome com o qual deseja uma interface iproute2:

ip link set ens33 down           # Else you will get "Device or resource busy"
ip link set ens33 name eth0
xhienne
fonte
1
Oh legal, no entanto, isso não é apenas uma mudança temporária até a próxima reinicialização?
user3450548
Sim. É claro que você pode adicionar isso em um script de inicialização, mas sua resposta é melhor se você quiser algo permanente. Eu não percebi que você estava respondendo sua própria pergunta (você pode aceitá-la então) e a adicionei se você (ou qualquer outra pessoa) gostaria de alterar temporariamente o nome para fins de teste.
Xhienne 6/10
Obrigado, este é um bom complemento, vou apontar a solução temporária para a sua resposta aswell :)
user3450548
0

Crie o arquivo abaixo, se não houver

nano /etc/udev/rules.d/70-persistent-net.rules

adicione abaixo da linha

# interface with MAC address "00:0c:30:50:48:a1" will be assigned "eth0"
# KERNEL=="enp3s0" is debians current interface name
# NAME="eth0" is a new ethernet interface name
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:30:50:48:a1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="enp3s0", NAME="eth0"
Lucas
fonte
0

Encontrei uma maneira muito fácil alterando apenas /etc/network/interfaces:

rename enp3s0=wan0

Então

service networking restart

para reiniciar o serviço de rede.

Owe Bernt Robertsen
fonte