# rm-rf.es

Configurar interfaces de red como «eth» en CentOS 7 y RHEL 7

En el anterior artículo hemos visto como configurar la red en CentOS 7 y RHEL 7. Una de las cosas que comentaba es que la nomenclatura de las interfaces de red ha cambiado de eth0, eth1, ethN a por ejemplo, enp0s3,enp0s4…:

Como podéis ver en la salida del comando ip addr list, las interfaces de red ya no se llaman eth0,eth1,ethN. Este es el otro gran cambio en esta nueva versión. Este cambio (Predictable Network Interface Names) pretende asignar identificadores estables a las interfaces de red basándose en el tipo (local Ethernet, WLAN, WWAN…) y evitar los problemas de la nomenclatura clásica. Si os interesa profundizar en el tema recomiendo leer la documentación al respecto. Básicamente tenemos:

Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
Names incorporating the interfaces’s MAC address (example: enx78e7d1ea46da)
Classic, unpredictable kernel-native ethX naming (example: eth0)

Muestra:

# ip addr list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:99:f6:7a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.199/24 brd 192.168.1.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe99:f67a/64 scope link 
       valid_lft forever preferred_lft forever

¿Cómo podemos volver a la nomenclatura anterior? Sinceramente, no veo el motivo ni que tenga beneficios excepto la comodidad de que es lo conocido y con lo que llevamos trabajando años y años. No obstante, cuanto antes nos acostumbremos al nuevo método, mejor.

Si aún así quieres cambiarlo, estos son los pasos:

  1. Modificar la línea de arranque de Kernel en el grub y añadir los siguientes argumentos:
    net.ifnames=0 biosdevname=0

    Por ejemplo:

    linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=3569ac5d-58a2-479b-b6a9-967bb66adf7e ro rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 vconsole.keymap=es rd.lvm.lv=centos/root crashkernel=auto LANG=en_US.UTF-8 net.ifnames=0 biosdevname=0
  2. Modificar los nombres de los ficheros de interfaces en /etc/sysconfig/network-scripts/ y las referencias internas:
    # ls -l /etc/sysconfig/network-scripts/ifcfg-*
    -rw-r--r--. 1 root root 368 ago 24 10:15 /etc/sysconfig/network-scripts/ifcfg-enp0s3
    
    # grep NAME /etc/sysconfig/network-scripts/ifcfg-*
    /etc/sysconfig/network-scripts/ifcfg-enp0s3:NAME="enp0s3"
    

Repito que personalmente no lo recomiendo. ¡Ahí queda eso!

Salir de la versión móvil