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áticaipv4.method auto→ DHCPipv4.addresses→ IP con prefijo CIDRipv4.gateway→ puerta de enlaceipv4.dns→ servidores DNS separados por espacioconnection.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