Tentei alterar o nome das interfaces de rede nesta nova versão do Ubuntu 16.04 LTS, mas não possui o arquivo /etc/udev/rules.d/70-persistent-net.rules
.
Então, tentei usar /lib/udev/write_net_rules
mas não existe.
Por que preciso dessa modificação? Pois estou utilizando uma ferramenta para Simular plataformas virtuais que utilizam licenciamento flex e a autenticação precisa estar no eth0
nome da interface.
Alguma sugestão?
O comando ip link
retorna:
user@laptop:~$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
user@laptop:~$ ifconfig
enp6s0 Link encap:Ethernet HWaddr b8:2a:xx:yy:xx:yy
lo Link encap:Local Loopback
wlp7s0 Link encap:Ethernet HWaddr 5c:e0:xx:yy:xx:yy
(Algumas informações foram ignoradas e suprimidas)
Já tentei alguns links:
Responder1
Há muitas informações enganosas sobre como alterar nomes de rede em versões recentes do Ubuntu. Algumas informações apontam para systemd.link, o que está errado porque o Ubuntu (a partir de 16.04) não usa esta parte do systemd.
Na verdade, alterar o nome da interface funciona quase como antes, com duas pequenas diferenças: Primeiro, o arquivo /etc/udev/rules.d/70-persistent-net.rules
agora precisa ser criado manualmente. Isso tem a vantagem de que você não precisa se preocupar com nenhum script sobrescrevendo este arquivo e pode simplesmente adicionar as linhas que você precisa (você também não precisa de nenhum comentário). Segundo - e esta é a mudança que me custou muito tempo para descobrir - o formato mudou ligeiramente em comparação com o Ubuntu 14.04 LTS:
A linha para corrigir o nome da interface da NIC com endereço MAC "02:01:02:03:04:05" para "eth0" agora é:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
Esta linha parece quase igual ao Ubuntu 14.04 LTS com uma pequena diferença: no Ubuntu 14.04, havia a condição adicional KERNEL=="eth*"
. Por alguma razão, isso não funciona no Ubuntu 16.04 LTS. Se esta condição adicional estiver presente, toda a linha será ignorada e você retornará ao comportamento padrão (conforme especificado em 80-net-setup-link.rules
).
Responder2
No Ubuntu 16.04.1 LTS, Linux plaptop 4.4.0-31-genericx86_64 MATE. primeiro passo da resposta do @Geancarlo Abich e funcionou. O Ubuntu criou novos nomes diretamente após a reinicialização:
Edite seu /etc/default/grub alterando a linha de
GRUB_CMDLINE_LINUX=""
para
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
e finalmente:
$ sudo update-grub
e reinicie seu sistema:
$ sudo reboot
msa@plaptop:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 70:5a:0f:d7:03:38
inet addr:10.67.10.43 Bcast:10.67.10.255 Mask:255.255.255.0
inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51115719 (51.1 MB) TX bytes:5006758 (5.0 MB)
Interrupt:16 Memory:f1200000-f1220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:255 errors:0 dropped:0 overruns:0 frame:0
TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:21076 (21.0 KB) TX bytes:21076 (21.0 KB)
wlan0 Link encap:Ethernet HWaddr 44:85:00:62:c6:e5
inet addr:10.67.14.106 Bcast:10.67.14.255 Mask:255.255.255.0
inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5320 (5.3 KB) TX bytes:14611 (14.6 KB)
Responder3
Ubuntu-16.04-servidor-amd64
Em /etc/default/grub
mudança
GRUB_CMDLINE_LINUX=""
para
GRUB_CMDLINE_LINUX="net.ifnames=0"
Em seguida, digite:
sudo update-grub
e reinicie seu sistema
sudo reboot
Responder4
Tentei misturar algumas sugestões e encontrei a solução!
Passo 1: desative os nomes herdados de firmware padrão.
Edite sua /etc/default/grub
alteração da linha de
GRUB_CMDLINE_LINUX=""
para
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
e, finalmente, execute como root:
$ sudo update-grub
e reinicie seu sistema.
$ sudo reboot
Passo 2: Crie o arquivo persistente /etc/udev/rules.d/70-persistent-net.rules
como root e preencha-o.
$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules
Exemplo:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"
# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"
(Use o endereço MAC da interface para se referir à interface que você deseja renomear e altere os valores do nome da interface 'X' conforme desejar)
Salve as alterações e reinicie.
$ sudo reboot
Isso funciona para mim.