Intenté cambiar el nombre de las interfaces de red en esta nueva versión de Ubuntu 16.04 LTS pero no tengo el archivo /etc/udev/rules.d/70-persistent-net.rules
.
Entonces, intenté usarlo /lib/udev/write_net_rules
pero no existe.
¿Por qué necesito esta modificación? Porque estoy usando una herramienta para simular plataformas virtuales que usan licencias flexibles y la autenticación debe estar en el eth0
nombre de la interfaz.
¿Cualquier sugerencia?
El comando ip link
devuelve:
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
(Alguna información fue ignorada y suprimida)
Ya probé algunos enlaces:
Respuesta1
Hay mucha información engañosa sobre cómo cambiar los nombres de las redes en versiones recientes de Ubuntu. Alguna información apunta a systemd.link, lo cual es simplemente incorrecto porque Ubuntu (a partir de 16.04) no usa esta parte de systemd.
En realidad, cambiar el nombre de la interfaz funciona casi como antes, con dos pequeñas diferencias: primero, el archivo /etc/udev/rules.d/70-persistent-net.rules
ahora debe crearse manualmente. Esto tiene la ventaja de que no tiene que preocuparse de que ningún script sobrescriba este archivo y puede simplemente agregar las líneas que necesite (tampoco necesita ningún comentario). En segundo lugar, y este es el cambio que me costó mucho tiempo descubrirlo, el formato cambió ligeramente en comparación con Ubuntu 14.04 LTS:
La línea para corregir el nombre de la interfaz de la NIC con la dirección MAC "02:01:02:03:04:05" a "eth0" es ahora:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
Esta línea se ve casi igual que en Ubuntu 14.04 LTS con una ligera diferencia: en Ubuntu 14.04, existía la condición adicional KERNEL=="eth*"
. Por alguna razón, esto no funciona en Ubuntu 16.04 LTS. Si esta condición adicional está presente, se ignora toda la línea y se vuelve al comportamiento predeterminado (como se especifica en 80-net-setup-link.rules
).
Respuesta2
En Ubuntu 16.04.1 LTS, computadora portátil Linux 4.4.0-31-genericx86_64 MATE. paso uno de la respuesta de @Geancarlo Abich y funcionó. Ubuntu creó nuevos nombres directamente después del reinicio:
Edita tu /etc/default/grub cambiando la línea de
GRUB_CMDLINE_LINUX=""
a
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
y finalmente:
$ sudo update-grub
y reinicie su 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)
Respuesta3
Ubuntu-16.04-servidor-amd64
En /etc/default/grub
cambio
GRUB_CMDLINE_LINUX=""
a
GRUB_CMDLINE_LINUX="net.ifnames=0"
Luego, escribe:
sudo update-grub
y reinicia tu sistema
sudo reboot
Respuesta4
¡Intenté combinar algunas sugerencias y encontré la solución!
Paso 1: Desactive los nombres heredados del firmware predeterminados.
Edite su /etc/default/grub
cambio de línea de
GRUB_CMDLINE_LINUX=""
a
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
y finalmente ejecutar como root:
$ sudo update-grub
y reinicie su sistema.
$ sudo reboot
Paso 2: Cree el archivo persistente /etc/udev/rules.d/70-persistent-net.rules
como root y complételo.
$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules
Ejemplo:
# 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"
(Utilice la dirección MAC de la interfaz para hacer referencia a la interfaz cuyo nombre desea cambiar y cambie los valores del nombre de la interfaz 'X' como desee)
Guarde los cambios y reinicie.
$ sudo reboot
Esto funciona para mí.