Configuración de red en RedHat/Fedora: nmcli y NetworkManager

Introducción

En distribuciones RedHat (RHEL, CentOS, Rocky Linux, AlmaLinux) y Fedora, la red se gestiona principalmente mediante NetworkManager, tanto en escritorio como en servidor. La herramienta de línea de comandos es nmcli. Los archivos de configuración clásicos se ubican en /etc/sysconfig/network-scripts/, aunque en versiones recientes NetworkManager los genera y gestiona automáticamente.

nmcli — Comandos básicos

Ver el estado general de la red:


$ nmcli general status          # estado global de NetworkManager
$ nmcli device status           # lista de interfaces y su estado
$ nmcli connection show         # lista de perfiles de conexión
$ nmcli connection show --active  # solo conexiones activas
          

Ver detalles de una interfaz:


$ nmcli device show eth0
$ nmcli connection show "Wired connection 1"
          

Configurar DHCP con nmcli


# nmcli connection modify "Wired connection 1" ipv4.method auto
# nmcli connection up "Wired connection 1"
          

Configurar IP estática con nmcli


# nmcli connection modify "Wired connection 1" \
    ipv4.method manual \
    ipv4.addresses 192.168.1.10/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8 1.1.1.1"

# nmcli connection up "Wired connection 1"
          

Crear una conexión nueva desde cero:


# nmcli connection add \
    type ethernet \
    con-name "mi-red" \
    ifname eth0 \
    ipv4.method manual \
    ipv4.addresses 192.168.1.20/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8"

# nmcli connection up "mi-red"
          

Parámetros más usados en modify/add:

  • ipv4.method manual → IP estática
  • ipv4.method auto → DHCP
  • ipv4.addresses → IP con prefijo CIDR
  • ipv4.gateway → puerta de enlace
  • ipv4.dns → servidores DNS separados por espacio
  • connection.autoconnect yes → conectar al arrancar

Activar, desactivar y eliminar conexiones


# nmcli connection up "mi-red"          # activar conexión
# nmcli connection down "mi-red"        # desactivar conexión
# nmcli connection delete "mi-red"      # eliminar perfil
# nmcli device disconnect eth0          # desconectar interfaz
# nmcli device connect eth0             # conectar interfaz
          

/etc/sysconfig/network-scripts/ — Archivos de configuración clásicos

En versiones antiguas de RHEL/CentOS (hasta la 7) la configuración se hacía editando directamente estos archivos. En RHEL 8+ NetworkManager los gestiona automáticamente, pero siguen siendo válidos. Cada interfaz tiene su archivo ifcfg-<nombre>.

Ejemplo de IP estática — /etc/sysconfig/network-scripts/ifcfg-eth0:


TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=1.1.1.1
          

Ejemplo de DHCP:


TYPE=Ethernet
BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes
          

Aplicar cambios:


# nmcli connection reload            # recargar archivos ifcfg
# systemctl restart NetworkManager   # reiniciar NetworkManager
          

En RHEL 9 y Fedora recientes los archivos ifcfg-* están deprecados en favor de los perfiles de NetworkManager en formato keyfile (/etc/NetworkManager/system-connections/), aunque nmcli sigue siendo el comando de referencia.

Configuración de DNS en Netplan y systemd-resolved (Ubuntu)

Índice de la sección

Índice del curso