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!

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

  1. Pingback: Bitacoras.com
  2. amigo tengo un inconveniente agregue una tarjeta de red en mi centos 7 pero no puedo agregarle me explico digite el comando lspci | grep Ethernet y me refleja mi nic que puedo configurar osea enp0s3

    me aparece mi otro dispositivo
    04:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
    04:01.0 Ethernet controller: VIA Technologies, Inc. VT6105/VT6106S [Rhine-III] (rev 86)

    pero no lo puedo habilitar deberian aparecerme como enp0s4 o algo asi ayuda por favor

  3. Hola Alex, acabo de instalar un servidor con CentOS 7 Minimal, el mismo tiene dos tarjetas de red un de ellas PCI, el problema es que al culminar la instalacion solo me detecta una tarjeta, la onboard, la salida de los comandos es la siguiente:
    # dmesg | grep -i ethernet
    [ 6.115149] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded

    *****************
    # dmesg | grep -i link
    [ 0.105781] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
    [ 0.105820] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *7 11 12 14 15)
    [ 0.105858] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 10 *11 12 14 15)
    [ 0.105896] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 *10 11 12 14 15)
    [ 0.105933] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
    [ 0.105970] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
    [ 0.106008] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 *11 12 14 15)
    [ 0.106044] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 *10 11 12 14 15)
    [ 0.286868] audit: initializing netlink socket (disabled)
    [ 0.375068] Initializing XFRM netlink socket
    [ 1.246474] ata4: SATA link down (SStatus 0 SControl 330)
    [ 1.397082] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 330)
    [ 2.241026] ata2.01: failed to resume link (SControl 0)
    [ 2.251016] ata1.01: failed to resume link (SControl 0)
    [ 2.262566] ata1.00: SATA link down (SStatus 0 SControl 330)
    [ 2.262581] ata1.01: SATA link down (SStatus 0 SControl 0)
    [ 2.392071] ata2.00: SATA link up 3.0 Gbps (SStatus 123 SControl 330)
    [ 2.392084] ata2.01: SATA link down (SStatus 0 SControl 0)
    [ 10.942976] r8169 0000:05:00.0 enp5s0: link down
    [ 10.943017] IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready
    [ 10.943206] r8169 0000:05:00.0 enp5s0: link down
    [ 12.492293] r8169 0000:05:00.0 enp5s0: link up
    [ 12.492300] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
    [ 38.396875] r8169 0000:05:00.0 enp5s0: link down
    [ 46.454782] r8169 0000:05:00.0 enp5s0: link up
    [ 46.454792] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
    [ 1456.723014] r8169 0000:05:00.0 enp5s0: link down
    [ 1462.845114] r8169 0000:05:00.0 enp5s0: link up
    [ 1462.845124] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready

    *********************
    # dmesg | grep -i enp
    [ 6.675971] systemd-udevd[522]: renamed network interface eth0 to enp5s0
    [ 10.942976] r8169 0000:05:00.0 enp5s0: link down
    [ 10.943017] IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready
    [ 10.943206] r8169 0000:05:00.0 enp5s0: link down
    [ 12.492293] r8169 0000:05:00.0 enp5s0: link up
    [ 12.492300] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
    [ 38.396875] r8169 0000:05:00.0 enp5s0: link down
    [ 46.454782] r8169 0000:05:00.0 enp5s0: link up
    [ 46.454792] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
    [ 1456.723014] r8169 0000:05:00.0 enp5s0: link down
    [ 1462.845114] r8169 0000:05:00.0 enp5s0: link up
    [ 1462.845124] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready

    Nota: necesito ayuda urgente, este servidor es el que provee el servicio de comunicaciones de la empresa.

  4. # dmesg | grep -i eth
    [ 6.115149] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
    [ 6.115536] r8169 0000:05:00.0 eth0: RTL8168evl/8111evl at 0xffffc9000067a000, 54:be:f7:8b:79:01, XID 0c900800 IRQ 43
    [ 6.115538] r8169 0000:05:00.0 eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
    [ 6.675971] systemd-udevd[522]: renamed network interface eth0 to enp5s0
    ***************
    # dlspci -nnk |grep -A5 Ethernet
    -bash: lspci: no se encontró la orden

    • Prueba a instalar el driver que te he dicho, lo reportan en muchos sitios y parece que soluciona el problema. Una vez instalado, reinicia y suerte.

  5. Instale centos 7 en vmware pero no me aparece la interfaz enp0s3, como la puedo habilitar? o como la puedo crear? espero tu ayuda

    • Hola,

      ¿tiene la máquina virtual la tarjeta de red habilitada en las características? ¿Un ifconfig -a o ip addr qué te muestra? ¿Has leído el howto de la distribución para solucionar ese problema?

      Saludos.

  6. Hola amigo, excelente post, necesito tu orientación, tengo una tarjeta de red con 4 interfaces. Tuve que desconectar 3 porque me estaba generando conflicto, y la que deje le puse una ip estatica. La cosa es que ahora me genero una ip secundaria en la misma interfaz, y me esta generando conflicto tambien, que puedo hacer no logro borrarla.
    Salida de ip add:
    1: lo: 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: eth0: mtu 1500 qdisc mq state UP qlen 1000
    link/ether 64:31:50:51:40:ea brd ff:ff:ff:ff:ff:ff
    inet 10.2.1.40/23 brd 10.2.1.255 scope global eth0
    valid_lft forever preferred_lft forever
    inet 10.2.0.99/23 brd 10.2.1.255 scope global secondary dynamic eth0
    valid_lft 343675sec preferred_lft 343675sec
    inet6 fe80::6631:50ff:fe51:40ea/64 scope link
    valid_lft forever preferred_lft forever
    3: eth1: mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 64:31:50:51:40:ec brd ff:ff:ff:ff:ff:ff
    inet 10.2.1.40/23 brd 10.2.1.255 scope global eth1
    valid_lft forever preferred_lft forever
    inet6 fe80::6631:50ff:fe51:40ec/64 scope link
    valid_lft forever preferred_lft forever
    4: eth2: mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 64:31:50:51:40:ee brd ff:ff:ff:ff:ff:ff
    5: eth3: mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 64:31:50:51:40:f0 brd ff:ff:ff:ff:ff:ff

Comments are closed.