En esta entrada vamos a aprender a configurar las interfaces de red en el sistema operativo GNU/Linux CentOS 7, lo mismo servirá para RHEL 7 ya que es exactamente igual.
¿Qué es lo que cambia respecto a la configuración de red de versiones anteriores de CentOS y Red Hat? Vamos a ir viéndolo.
Lo primero que os llamará la atención, aunque es algo que se sabía desde versiones anteriores es la desaparición del comando ifconfig para la estandarización completa del comando ip:
[root@localhost ~]# ifconfig -bash: ifconfig: command not found [root@localhost ~]# whereis ifconfig ifconfig:
Para los que todavía no sepáis usar bien el comando IP, hace ya dos años (como pasa el tiempo) que hice un tutorial de uso comparando comandos de ip e ifconfig:
Cómo usar el comando ip en Linux (ejemplos vs ifconfig)
# 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.130/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 258471sec preferred_lft 258471sec inet6 fe80::a00:27ff:fe99:f67a/64 scope link valid_lft forever preferred_lft forever
Nomenclatura de interfaces de red
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)
¿Qué pasa si quiero volver a la nomenclatura anterior? Aquí la respuesta:
Configurar interfaces de red como «eth» en CentOS 7 y RHEL 7
Configuración manual de interfaces de red
La configuración manual sigue siendo exactamente igual que en versiones anteriores. Los ficheros que contienen la configuración de cada interfaz de red se encuentran en:
# ls -l /etc/sysconfig/network-scripts/ifcfg-* -rw-r--r--. 1 root root 321 ago 22 23:54 /etc/sysconfig/network-scripts/ifcfg-enp0s3 -rw-r--r--. 1 root root 254 abr 2 17:30 /etc/sysconfig/network-scripts/ifcfg-lo
Sólo hay que editar el de la interfaz correspondiente y modificar según requerimientos:
Configuración IP dinámica DHCP
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 HWADDR="08:00:27:99:F6:7A" TYPE="Ethernet" BOOTPROTO="dhcp" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="30d5594c-d4db-4f2d-bc0d-91ffd2571035" ONBOOT="yes"
Configuración IP estática
# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 HWADDR="08:00:27:99:F6:7A" TYPE="Ethernet" BOOTPROTO="static" IPADDR="192.168.1.199" NETMASK="255.255.255.0" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="30d5594c-d4db-4f2d-bc0d-91ffd2571035" ONBOOT="yes"
Reiniciar red
Para aplicar los cambios hay que reiniciar el servicio de red (Arrancar / Parar / Reiniciar servicios en RHEL 7 y CentOS 7):
# systemctl restart network.service
Y para ver el estado:
# systemctl status network.service network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network) Active: active (exited) since dom 2014-08-24 10:16:49 CEST; 3s ago Process: 11002 ExecStop=/etc/rc.d/init.d/network stop (code=exited, status=0/SUCCESS) Process: 11169 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS) ago 24 10:16:48 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking... ago 24 10:16:48 localhost.localdomain network[11169]: Bringing up loopback interface: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' ago 24 10:16:48 localhost.localdomain network[11169]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' ago 24 10:16:48 localhost.localdomain network[11169]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' ago 24 10:16:48 localhost.localdomain network[11169]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo' ago 24 10:16:48 localhost.localdomain network[11169]: [ OK ] ago 24 10:16:49 localhost.localdomain network[11169]: Bringing up interface enp0s3: Connection successfully activated (D-Bus active path: /org/free...ction/3) ago 24 10:16:49 localhost.localdomain network[11169]: [ OK ] ago 24 10:16:49 localhost.localdomain systemd[1]: Started LSB: Bring up/down networking. Hint: Some lines were ellipsized, use -l to show in full.
Gateway, Hostname y DNS
La configuración de Gateway, Hostname sigue siendo exactamente igual Especificaremos nuestro HostName y puerta de enlace en el siguiente fichero:
vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=pruebas GATEWAY=192.168.1.1
Y los DNS en lugar de configurarlos en /etc/resolv.conf vemos que es preferible añadirlos dentro del fichero de configuración de la interfaz de red:
vi /etc/resolv.conf # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: # # DNS1=xxx.xxx.xxx.xxx # DNS2=xxx.xxx.xxx.xxx # DOMAIN=lab.foo.com bar.foo.com
Configuración en módo gráfico
La configuración en modo gráfico se basa en Network Manager, que en instalaciones MINIMAL de CentOS 7/RHEL 7 no está disponible. No obstante, si lo utilizáis (no lo recomiendo) veréis que es muy intuitivo, aunque no es recomendable utilizar ambos métodos a la vez (modificaciones manuales y network manager) por que los cambios del Network Manager suelen pisar a las configuraciones manuales.
Os dejo un screenshot del Network Manager disponible durante la instalación del SO:
¡Muy buen post, sigue así!
Saludos.
¡Gracias Sidious!
Por cierto, te agradezco muchísimo toda la ayuda que llevas ofreciendo durante mucho tiempo a través de los comentarios. He estado «off» durante unos meses y has mantenido esto vivo ;)
¡Gracias!
Un consejo para la gestión de la red por línea de comandos: el uso de «nmcli», es vital para la gestión de la red en RHEL 7 (multilan, teaming y un largo, largo etc…). Consejo de un antiguo profe de Red Hat ;-)
¡Hola David!
A ver cuando puedo hacer la certificación de RHEL 7 ;) igual nos volvemos a ver.
Muchas gracias por el tip. Prepararé otro artículo con configuración avanzada de red: VLAN tagging, bonding, etc.
Saludos
muy buena información. Tenes algún sitio donde encontrar un tutorial completo de configuración para CentOS 7?
Complicado… puedes echarle un vistazo a la sección de CentOS 7 del blog, voy publicando entradas cada cierto tiempo.
https://rm-rf.es/sobre/centos-7/
Hola buen día,
Excelente post! Otro origen para entender todo lo relacionado con redes lo puedes encontrar en:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/index.html
Ahora mismo tengo un detalle que ojala puedas ayudarme, ya que necesito usar una USB de banda ancha en una PC con CentOS 7, que al conectarla es detectada sin problema, incluso configurando el archivo wvdial.conf hace la conexión sin marcar error. El problema es que no puedo navegar, solo se ve una conexión <> en NetworkManager gráfico que no se como habilitar. Incluso, puedo crear un archivo con nm-connection-editor, con las opciones para la banda ancha, pero no se como vincularla a la USB conectada.
Sabrás como habilitarla?
Gracias y saludos!
Tengo problemas con la Wifi no se como habiltarla, me aparece Virbr0 y Virbr0-nic estan en estado down y no se como configurarlas, he revisado varios foros y en todas configuran solo la ip estatica, me gustaria saber como poder configurar o activar mi wifi en mi trabajo tengo cable pero en casa donde tengo que complementar lo que no alcanzo debo hacerlo por wifi
fue de gran ayuda.
Gracias
Muchas gracias amigo mio por tu apoyo