Como renomear uma interface Ethernet?

11

Como minha NIC embutida não é suportada pelo Ubuntu imediatamente, fui forçado a usar uma NIC USB para conexão temporária à Internet no momento da instalação.

E a NIC USB recebeu o eth0nome de tornando a NIC incorporada eth1.

Claro, isso realmente não importa, mas apenas para a "beleza" do sistema, eu gostaria eth1de eth0deixar que qualquer NIC recém-conectada se torne eth1.

Isso é possível?

Ivan
fonte

Respostas:

10

É possível. Por favor faça:

gksudo gedit /etc/udev/rules.d/70-persistent-net.rules 

Troque eth0 e eth1. Revise com cuidado, salve e feche o gedit. Use qualquer outro editor de texto se você não tiver o gedit. Reinicie imediatamente e você deve estar pronto.

chili555
fonte
7
... e primeiro faça um backup do arquivo
Rinzwind
7
Apenas para constar: isso está correto para 14.04, mas 70-persistent-net.rules não existe mais a partir do Ubuntu 15.10. Consulte askubuntu.com/questions/689501 para obter uma solução que funcione para o Ubuntu 15.10, 16.04 e posterior.
richvdh
bem, pode estar correto para 14.04. Houve um pouco de fluxo nessa área nos lançamentos recentes.
richvdh
Você está certo. Quando isso foi publicado em 2012, era o procedimento correto. Este procedimento, assim como muitas outras coisas, foi alterado em 15.10 e segs.
chili555
11

Isso renomeia em1 para eth0 para mim no Ubuntu 14.04:

# Note: replace xx:xx... in the rule with the MAC address of your Nic>    
$ sudo vim /etc/udev/rules.d/75-persistent-net-generator.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

# Change "em1" to "eth0" in your interfaces file.
$ sudo vim /etc/network/interfaces

$ sudo reboot

Crédito: resposta de Billf aqui: https://bbs.archlinux.org/viewtopic.php?id=156375

Para sua informação, era isso que eu estava vendo originalmente nos logs:

$ sudo grep eth0 /var/log/dmesg
[    2.976463] e1000e 0000:00:19.0 eth0: registered PHC clock
[    3.003714] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 18:03:73:e9:f2:36
[    3.031177] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    3.058399] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: E041FF-0FF
[    3.153759] systemd-udevd[167]: renamed network interface eth0 to em1

Parece que o systemd-udevd estava fazendo um trabalho negativo e renomeando eth0 para em1 em primeiro lugar. Não tenho certeza de como impedir isso, mas renomear novamente para eth0 parece funcionar.

Para os entusiastas que desejam saber mais ... http://linux.dell.com/files/whitepapers/consistent_network_device_naming_in_linux.pdf

user79878
fonte
1
Muito obrigado por isso. Todos os outros parecem estar errados.
Sj #
0

No Ubuntu Server 16.04LTS, o 70-persistent-net.rules não existe e muitas postagens não ajudaram. Após 4 horas de pesquisa, encontrei esta solução e, para minha surpresa, ela realmente funcionou!

sudo ln -s / dev / null /etc/udev/rules.d/80-net-setup-link.rules

Em seguida, crie o arquivo usando o sudo vi /etc/systemd/network/10-internet.link e adicione o seguinte

[Match] Path = pci-0000: (endereço do seu dispositivo)

[Link] Nome = eth0 (ou o que você quiser nomear)

: wq para salvar o arquivo

depois reinicie e ajuste seu arquivo / etc / network / interfaces .. depois reinicie novamente

Espero que isso ajude alguém

Jadey1412
fonte
Não funciona E não deveria, AFAIU.
jno
Não funciona. acabou de testar com 16.04 lts
Kendrick