Configurar direcciones IP estáticas usando NetworkManager en RHEL/CentOS

Configure una IP estática persistente en RHEL o CentOS con `nmcli`, incluyendo puerta de enlace, DNS, activación y comprobaciones de reversión.

Configurar direcciones IP estáticas usando NetworkManager en RHEL/CentOS

La red es una de las primeras cosas que debe configurar correctamente en un servidor. En RHEL y CentOS, NetworkManager puede configurar una dirección IP estática persistente sin editar manualmente los archivos de interfaz, lo cual es más seguro en las versiones más recientes de Enterprise Linux.

Esta guía explica los comandos nmcli para establecer una dirección, puerta de enlace y servidores DNS, activar el perfil y verificar que el cambio sobrevive a un reinicio.

Entendiendo NetworkManager y nmcli

Antes de sumergirnos en los pasos de configuración, aclaremos los componentes principales que usaremos:

¿Qué es NetworkManager?

NetworkManager es un demonio que maneja la configuración de red, facilitando la gestión de conexiones de red. Puede gestionar varios tipos de conexión, incluyendo Ethernet, Wi-Fi, banda ancha móvil y VPNs. Detecta y configura automáticamente los dispositivos de red e intenta mantener una conexión de red activa, cambiando entre conexiones disponibles según sea necesario. Para servidores, asegura que sus interfaces de red estén configuradas correctamente y persistan tras reinicios.

¿Qué es nmcli?

nmcli es el cliente de línea de comandos para NetworkManager. Le permite controlar NetworkManager y configurar conexiones de red desde la terminal. Es particularmente útil en entornos de servidor sin interfaz gráfica. Los comandos nmcli son intuitivos y proporcionan una forma robusta de interactuar con todas las funcionalidades de NetworkManager, desde mostrar el estado de los dispositivos de red hasta crear y modificar perfiles de conexión complejos.

Prerrequisitos

Para seguir esta guía, asegúrese de tener:

  • Privilegios de root: Necesitará acceso sudo o iniciar sesión como usuario root para realizar cambios en la configuración de red.
  • Información del sistema: La dirección IP estática, máscara de subred (o notación CIDR), puerta de enlace predeterminada y direcciones IP de los servidores DNS que planea usar.
  • Interfaz de red identificada: Conocimiento del nombre de la interfaz de red (por ejemplo, enp0s3, eth0) que desea configurar. Cubriremos cómo encontrarlo.

Configuración paso a paso de una dirección IP estática

Aquí se explica cómo configurar una dirección IP estática usando nmcli.

Paso 1: Identifique su interfaz de red

Primero, necesita saber el nombre de la interfaz de red que desea configurar. Puede listar todos los dispositivos de red activos y sus estados usando nmcli device o nmcli device status:

nmcli device status

Salida de ejemplo:

DEVICE     TYPE      STATE                   CONNECTION
enp0s3     ethernet  connected               System enp0s3
lo         loopback  unmanaged               --

En este ejemplo, enp0s3 es nuestra interfaz Ethernet. Tome nota del nombre de su interfaz.

Paso 2: Cree un nuevo perfil de conexión de red

Generalmente es una buena práctica crear un nuevo perfil de conexión para su configuración de IP estática, en lugar de modificar directamente uno existente gestionado por DHCP, especialmente si desea poder revertir fácilmente. Un perfil de conexión almacena toda la configuración para una conexión de red específica.

Para crear un nuevo perfil de conexión Ethernet, use el comando nmcli connection add. Especificará el tipo de conexión, un nombre descriptivo (con-name) y el nombre de la interfaz (ifname).

sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
  • type ethernet: Especifica una conexión Ethernet.
  • con-name my-static-eth: Asigna un nombre a este nuevo perfil de conexión. Elija algo descriptivo.
  • ifname enp0s3: Vincula este perfil de conexión a la interfaz de red física enp0s3.

Alternativa: Modificar un perfil existente

Si prefiere modificar una conexión existente (por ejemplo, System enp0s3 de la salida de nmcli device status), usaría nmcli connection modify con su con-name existente.

sudo nmcli connection modify "System enp0s3" # reemplace con su nombre de conexión

Nota: Por simplicidad y claridad, esta guía asume que ha creado un nuevo perfil de conexión llamado my-static-eth.

Paso 3: Configure los ajustes IPv4 (IP, puerta de enlace, DNS)

Ahora, configuremos la dirección IP estática, puerta de enlace y servidores DNS para nuestro perfil de conexión my-static-eth. Es crucial establecer el método IPv4 en manual para deshabilitar DHCP.

Configurando la dirección IP y la puerta de enlace

Use las propiedades ipv4.addresses e ipv4.gateway. La dirección IP debe estar en notación CIDR (por ejemplo, 192.168.1.100/24).

sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
  • ipv4.addresses 192.168.1.100/24: Establece la dirección IP estática a 192.168.1.100 con una máscara de subred de 24 bits (255.255.255.0).
  • ipv4.gateway 192.168.1.1: Establece la puerta de enlace predeterminada para la red.

Configurando servidores DNS

Especifique una o más direcciones IP de servidores DNS. Separe múltiples direcciones con comas.

sudo nmcli connection modify my-static-eth ipv4.dns "1.1.1.1,8.8.8.8"

Si su organización ejecuta DNS interno, use esas IPs de resolución en su lugar. Por ejemplo, un servidor privado podría usar 192.168.1.10 y 192.168.1.11.

Deshabilitar DHCP para IPv4

Establezca el método IPv4 a manual; de lo contrario, NetworkManager podría seguir intentando DHCP para este perfil.

sudo nmcli connection modify my-static-eth ipv4.method manual

Si el servidor no debe usar IPv6 en esta conexión, deshabilítelo explícitamente:

sudo nmcli connection modify my-static-eth ipv6.method disabled

Solo haga esto si su red no depende de IPv6.

Paso 4: Active el perfil estático

Active la nueva conexión. Si está trabajando a través de SSH, hágalo desde acceso a la consola o programe una reversión antes de cambiar la interfaz activa.

sudo nmcli connection up my-static-eth

Si un perfil DHCP anterior sigue activo en la misma interfaz, desactívelo después de confirmar que el perfil estático funciona:

sudo nmcli connection down "System enp0s3"

Reemplace "System enp0s3" con el nombre real de la conexión anterior de nmcli connection show.

Paso 5: Verifique la dirección, ruta y DNS

Compruebe la conexión activa:

nmcli connection show --active

Confirme la dirección IP:

ip addr show enp0s3

Confirme la ruta predeterminada:

ip route

Debería ver una ruta similar a:

predeterminada via 192.168.1.1 dev enp0s3

Compruebe la configuración DNS gestionada por NetworkManager:

nmcli device show enp0s3 | grep DNS

Luego pruebe la conectividad real:

ping -c 3 192.168.1.1
ping -c 3 1.1.1.1
getent hosts example.com

El primer comando comprueba la puerta de enlace, el segundo comprueba la conectividad IP saliente y el tercero comprueba la resolución DNS.

Cambios remotos más seguros

Los cambios de IP estática pueden desconectar su sesión SSH si escribe mal la dirección o la puerta de enlace. Antes de aplicar el perfil de forma remota, mantenga una segunda sesión abierta y considere programar una reversión:

sudo shutdown -r +5 "Reinicio por reversión de red"

Si la nueva IP estática funciona, cancele el reinicio:

sudo shutdown -c

En sistemas donde un reinicio no es aceptable, cree un trabajo at temporal o use acceso a consola fuera de banda para poder recuperarse si la ruta es incorrecta.

Conclusión

Use perfiles de conexión nmcli para la configuración de IP estática persistente en RHEL y CentOS. El conjunto mínimo de trabajo es ipv4.addresses, ipv4.gateway, ipv4.dns e ipv4.method manual; el flujo de trabajo más seguro es activar el perfil, verificar el comportamiento de la ruta y DNS, luego eliminar o deshabilitar el perfil DHCP antiguo solo después de que el servidor sea accesible en su nueva dirección.