Configurar red en CentOS 7 | RHEL 7

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:

instalacion centos 8 network configuration

 

9 comentarios en “Configurar red en CentOS 7 | RHEL 7

    • ¡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!

  1. 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

  2. Pingback: Bitacoras.com
  3. 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!

  4. 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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *