Como renomear a interface de rede na 15.10?

35

Decidi fazer uma instalação limpa do 15.10 e, como resultado, preciso reinstalar o MATLAB. As licenças do MATLAB estão vinculadas ao endereço de hardware eth0.

Minha placa Ethernet está listada como enp1s0 e preciso renomeá-la para eth0. only lo está listado /etc/network/interfacese /etc/udev/rules.d/70-persistent-net.rulesnão existe, então não tenho certeza por onde começar.

Steve Mohan
fonte
1
Você pode definir uma udevregra para renomear a interface como eth0.. vamos dizer que o endereço MAC da interface é, xx:XX:xx:YY:yy:ZZentão você pode criar um arquivo, por /etc/udev/rules.d/exemplo, 99-rename-net.rulese colocar SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:XX:xx:YY:yy:ZZ", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"no arquivo .. se você não souber o endereço MAC, poderá obtê-lo do /sys/class/net/enp1so/addressarquivo ..
heemayl 24/10/2015
@heemayl Se você adicionou esse comentário como resposta, as pessoas podem comentar mais facilmente e discutir por que parece funcionar para algumas pessoas e não para outras. Abraços!
22416 Jonathan Hartley
A resposta de @ heemayl no comentário acima não funcionou para mim, em uma nova instalação do Ubuntu 15.10.
Jonathan Hartley
Acima, o @jdnz sugeriu o uso de .linkarquivos do systemd , mas outros sugeriram que isso não funcionava para eles. Provavelmente não funcionou porque, depois de editar os arquivos de link, o initramfs deve ser atualizado . Então, siga a resposta de @ jndz primeiro e siga a resposta que eu vinculei acima.
Pinja-Liina Jalkanen

Respostas:

29

Minha solução para isso foi criar um arquivo /etc/udev/rules.d/10-rename-network.rulescom o conteúdo:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
richvdh
fonte
1
Isso deu certo para mim no Ubuntu 15.10 (ao contrário de respostas e comentários sobre a questão de maior votação)
Jonathan Hartley
1
@ steve-mohan Esta é a resposta certa e deve ser marcada como correta.
Hubro 01/04
5
Isso funciona de fato a partir de 16.04.
EnzoR
Como esta é a resposta principal - só quero observar o que realmente funcionou para mim .. tive que alterar uma configuração do grub e regenerar o comando de inicialização para desativar a renomeação das interfaces de rede, conforme descrito aqui: itzgeek.com/how-tos/ mini-howtos /…
qodeninja 6/01/18
1
Trabalhou para mim em 16.04. ff: ff: ff: ff: ff: ff precisava ser substituído pelo endereço MAC.
precisa
7

Eu tive o mesmo problema e adicionar arquivos /etc/udev/rules.d/não ajudou. O problema parece estar no uso de nomes de interface de rede previsíveis, conforme descrito aqui . Para criar seu próprio esquema de nomenclatura manual, ou seja, para nomear seu dispositivo "eth0" para o MATLAB, você pode criar seus próprios .linkarquivos /etc/systemd/network/conforme descrito aqui .

Especificamente, eu criei um arquivo /etc/systemd/network/10-eth.linkcom o conteúdo

[Match]
MACAddress=ff:ff:ff:ff:ff:ff
[Link]
Name=eth0

substituindo ff:ff:ff:ff:ff:ffpelo endereço MAC do dispositivo que eu queria alterar. Após a reinicialização, o nome era o desejado.

jdnz
fonte
1
Isso não funcionou para mim e eu adoraria saber o porquê.
18116 Richfordh
1
Isso não funcionou para mim no Ubuntu 15.10
Jonathan Hartley
1
Isso não funcionará a partir do 16.04.
EnzoR
6

Se, por qualquer motivo, a resposta sugerida por @zab não funcionar, você também poderá desativar esse esquema de nomeação, como foi feito aqui . Mas o método proposto por @zab é potencialmente mais seguro

Eu apenas não incluí biosdevname = 0 no argumento da linha de comando, ele parece estar desativado por padrão.

Devem ser seguidos os seguintes passos:

$ sudo nano /etc/default/grub

Na linha GRUB_CMDLINE_LINUX, adicione net.ifnames = 0

GRUB_CMDLINE_LINUX="[previous parameters] net.ifnames=0"

Em seguida, gere um novo arquivo grub:

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

No final, reinicie o sistema.

Dmitriy Kozlov
fonte
1
Você poderia elaborar para que esta resposta ainda seja útil se esse link não estiver disponível no futuro?
Zanna
@Zanna That's done #
Dmitriy Kozlov
2
Depois de inúmeras tentativas de tudo em toda a Internet, é isso que ethernet fixo para mim. Minha situação (para pesquisas do Google no futuro) não era Ethernet após a instalação do Linux Mint (ou Ubuntu) via Serva / PXE porque o estúpido adaptador de rede usa o nome previsível da interface de rede em vez de eth0. As instruções foram encontradas aqui: itzgeek.com/how-tos/mini-howtos/…
ThePCpenguin
A partir de hoje (com todas as atualizações instaladas) isso funciona. Obrigado.
precisa saber é o seguinte
2

Isso funcionou para mim no servidor 16.04, pois o eno1 estava sendo exibido quando o fiz ifconfig -a. Eu tive que abrir a interface, ifconfig eno1 upentão fiz o seguinte:

vi /etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
Jose
fonte
Isso muda o nome imediatamente ou somente após uma reinicialização?
Xen2050