Rocky Linux / Configurar IP fija, DHCP y DNS con nmcli

La forma predeterminada de cambiar la dirección IP de Rocky Linux es modificando el perfil de conexión de NetworkManager mediante nmcli. Primero, verifique y distinga el nombre de la conexión activa y el nombre del dispositivo, y si se trata de un servidor remoto, asegúrese de tener acceso a la consola o a una ruta de administración separada antes de realizar cambios para poder manejar posibles desconexiones.

Comprobar el estado actual de la red

Verifique en orden el estado del dispositivo, el perfil de conexión y la IP y la ruta reales. DEVICE es el nombre de la interfaz física o virtual, y NAME es el nombre del perfil de conexión que se va a modificar.

nmcli device status
nmcli connection show --active
ip -brief address
ip route

En el siguiente ejemplo, se supone que el nombre del perfil de conexión es System eth0. Cámbielo por el nombre correspondiente en su entorno real.

Configuración de dirección IPv4 fija

Registro y respaldo de valores de configuración

Antes de realizar cambios, registre los valores actuales del perfil. La salida puede contener información confidencial, así que revise el contenido antes de compartirlo externamente.

nmcli connection show 'System eth0'

La documentación oficial de nmcli limita connection export a conexiones VPN compatibles con su complemento; no sirve como copia general de un perfil Ethernet. Registre los valores y localice el archivo de configuración que utiliza realmente ese perfil. Guarde una copia protegida de ese archivo conservando sus permisos, según el backend de la instalación. Para revertir, recupere los valores originales registrados y vuelva a activar el perfil desde la consola: pasar a DHCP no restaura una configuración estática anterior.

Ingresar dirección, puerta de enlace y DNS (sistema de nombres de dominio)

A continuación se muestra un ejemplo usando un rango de direcciones para documentación. Reemplace la dirección IP, la longitud del prefijo, la puerta de enlace y el servidor DNS con los valores proporcionados por el administrador de la red.

sudo nmcli connection modify 'System eth0' \
  ipv4.method manual \
  ipv4.addresses '192.0.2.20/24' \
  ipv4.gateway '192.0.2.1' \
  ipv4.dns '192.0.2.53 192.0.2.54'

Al reactivar la conexión actual, se aplicará la nueva dirección. Si está trabajando por SSH, la conexión puede interrumpirse en este momento, por lo que debe ejecutar esto desde la consola del servidor o tener un camino para restaurarla inmediatamente.

sudo nmcli connection up 'System eth0'

Activar IPv4 y DNS automáticos mediante DHCP

Para obtener automáticamente la dirección IPv4 y el DNS mediante DHCP (Dynamic Host Configuration Protocol), cambie el método a auto, vacíe los valores manuales mostrados y establezca ipv4.ignore-auto-dns no. Así se vuelve a permitir la información DNS automática; consulte el comportamiento de esta propiedad en la documentación oficial de configuración IPv4. Conserve aparte cualquier ruta, dominio de búsqueda o política adicional que deba mantenerse.

sudo nmcli connection modify 'System eth0' \
  ipv4.method auto \
  ipv4.addresses '' \
  ipv4.gateway '' \
  ipv4.dns '' \
  ipv4.ignore-auto-dns no
sudo nmcli connection up 'System eth0'

Para recibir la dirección mediante DHCP pero usar solo los DNS especificados por el administrador, configure conjuntamente ipv4.ignore-auto-dns yes y ipv4.dns. Para permitir de nuevo DNS automáticos, vuelva a establecer el valor en no.

Configuración de IPv6

Mantener configuración automática

Para permitir la configuración automática de IPv6 se utiliza ipv6.method auto. Cambiar únicamente ese valor no elimina otras direcciones, rutas o DNS manuales del perfil. Revise los valores existentes, active el perfil desde la consola y compruebe también las rutas con ip -6 route. Deshabilitar IPv6 en un servidor en uso puede afectar a servicios que dependen de él.

sudo nmcli connection modify 'System eth0' ipv6.method auto

Configuración de dirección IPv6 fija

sudo nmcli connection modify 'System eth0' \
  ipv6.method manual \
  ipv6.addresses '2001:db8:100::20/64' \
  ipv6.gateway '2001:db8:100::1' \
  ipv6.dns '2001:db8:100::53'

2001:db8::/32 es también una dirección para documentación, por lo que no se puede usar en implementaciones reales.

Configuración mediante menú de texto

Si es difícil introducir opciones de comando directamente, puede ejecutar nmtui y seleccionar la conexión en Edit a connection. Luego de guardar, actívela de nuevo en Activate a connection.

sudo nmtui

nmtui también modifica el perfil de NetworkManager, por lo que el resultado se puede volver a verificar en nmcli connection show.

Verificación de configuración y diagnóstico de la conexión

Elementos a verificar Comando
Direcciones por dispositivo ip -brief address
Ruta y enrutamiento predeterminados ip route
Ruta a destinos específicos ip route get 192.0.2.1
Configuración de perfil nmcli connection show 'System eth0'
Estado de NetworkManager systemctl status NetworkManager
Estado de DNS nmcli device show

Si ocurre una interrupción de la comunicación, se debe reducir el alcance en el siguiente orden: puerta de enlace de la misma subred, duplicación de IP, VLAN, firewall, router superior. /etc/resolv.conf puede ser recreado por NetworkManager, por lo que en lugar de editar directamente, se deben modificar las propiedades DNS del perfil de conexión.

Verificaciones antes de cambiar el servidor remoto

  • Asegúrese de tener un medio de acceso independiente de SSH, como la consola de la máquina virtual, IPMI o la consola serie en la nube.
  • Verifique que la nueva IP no esté en uso por otro dispositivo y que coincida con la configuración del switch y VLAN.
  • Asegúrese de que la puerta de enlace predeterminada sea una dirección accesible desde esa interfaz.
  • Verifique que la nueva IP esté permitida en el firewall y en las listas de control de acceso.
  • Planifique conjuntamente el cambio de registros DNS y las direcciones de los objetivos de monitoreo.

Documentos de referencia

La guía de administración de redes de Rocky Linux explica con más detalle el uso de ip, NetworkManager, nmcli y nmtui.