Cambiar el nombre de las interfaces de red Ubuntu 16.04

Cambiar el nombre de las interfaces de red Ubuntu 16.04

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_rulespero 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 eth0nombre de la interfaz.

¿Cualquier sugerencia?

El comando ip linkdevuelve:

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.rulesahora 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/grubcambio

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/grubcambio 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.rulescomo 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í.

información relacionada