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:
- 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
- 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!
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
Hola Raúl,
Y si ejecutas un:
ó
ó
¿Qué te sale?
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.
Es raro… busca por Ethernet a ver:
Aunque por «link» debería haberlo sacado.
En /etc/sysconfig/network-scripts has mirado a ver que fichero de configuración de interfaces te ha generado?
Y a nivel de hardware te la detecta?
ACTUALIZO:
Parece que hay bastantes casos con el mismo problema. Instala el driver kmod-via-rhine para tu arquitectura:
kmod-via-rhine
http://rpm.pbone.net/index.php3/stat/4/idpl/26864491/dir/redhat_el_7/com/kmod-via-rhine-1.5.1-1.el7.elrepo.x86_64.rpm.html
Hola Alex, te confirmo que la solución que propones es la correcta.
Yo tenía el mismo problema y instalando el driver se ha solucionado.
Mil gracias, se me estaban secando las retinas de tanto buscar.
# 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.
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.
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