Modificar una dirección IP, una puerta de enlace o un DNS en una máquina remota se reduce a un solo comando nmcli. Estos ajustes se guardan en un perfil de NetworkManager, y reactivar este perfil puede cortar la sesión SSH que se utiliza precisamente para introducir el comando.
Antes de modificar el perfil, identifica el que tiene la conexión activa y mantén abierta una segunda sesión o la consola del hipervisor. Limita cada paso a un ámbito de ajuste, revisa el valor modificado, reactiva y luego verifica la ruta y el DNS antes de cerrar la sesión de respaldo.

Verificar el gestor y preparar un acceso de respaldo
nmcli solo controla las conexiones gestionadas por NetworkManager. En una máquina administrada por systemd-networkd, ifupdown o Netplan con otro backend, estos comandos no tienen efecto en la red real.
systemctl is-active NetworkManager
nmcli general status
nmcli connection show --active
ip route get 1.1.1.1
systemctl is-active debe devolver activo y nmcli general status debe responder sin errores. ip route get 1.1.1.1 proporciona la interfaz, la puerta de enlace y la dirección fuente utilizadas para alcanzar este destino: anota estos tres valores, que servirán como referencia después de la reactivación.
Una sola sesión SSH no es suficiente cuando el perfil a modificar transporta esa sesión: una interrupción durante la reactivación la finaliza y elimina el medio para regresar. Mantén una segunda sesión abierta; en una máquina virtual o un servidor remoto, la consola del hipervisor o del proveedor proporciona este segundo acceso.
Identificar el perfil que tiene la conexión activa
Lista los perfiles registrados y luego inspecciona el que está vinculado a la interfaz activa.
nmcli -f NAME,UUID,TYPE,DEVICE connection show
PROFILE='Conexión con cable 1'
nmcli -f connection.id,connection.uuid,connection.interface-name,ipv4.method,ipv4.addresses,ipv4.gateway,ipv4.dns connection show "$PROFILE"
nmcli connection show --active
Reemplaza Conexión con cable 1 por el nombre que hayas anotado en la máquina, entre comillas si contiene espacios. La variable PROFILE permanece disponible para los siguientes comandos en la misma terminal. La salida indica si el IPv4 proviene de DHCP o de una configuración manual, con la dirección, la puerta de enlace y los DNS actualmente asociados al perfil.
Compara el campo DEVICE del perfil con la línea activa de nmcli connection show --active. Un perfil Wi-Fi y un perfil Ethernet a menudo coexisten: modificar el perfil inactivo no corta la sesión en curso, pero no cambia nada en la ruta de red destino.
Modificar una propiedad y volver a leer su valor
Comienza con una propiedad que no afecte la dirección o la ruta: este paso confirma el nombre del perfil y los derechos sudo sin exponer la sesión en curso. connection.autoconnect-priority es adecuada, ya que solo se aplica a la próxima elección de perfil y no reactivará nada. En un perfil que no transporta la sesión activa, esta precaución es opcional: un fallo no implica una interrupción.
sudo nmcli connection modify "$PROFILE" connection.autoconnect-priority 20
nmcli -f connection.id,connection.autoconnect-priority connection show "$PROFILE"
El segundo comando debe mostrar 20. Anota el valor original antes de modificarlo para poder restaurarlo. Mantén cada paso en un solo ámbito de ajuste: prioridad de autoconexión, DNS o direccionamiento. La relectura precede la reactivación; si la verificación falla después, la causa se limita a este paso.
Para ignorar los DNS proporcionados por DHCP, el ajuste es explícito:
sudo nmcli connection modify "$PROFILE" ipv4.ignore-auto-dns yes
Luego, indica los resolutores con ipv4.dns, separados por un espacio y entre comillas:
sudo nmcli connection modify "$PROFILE" ipv4.dns "1.1.1.1 1.0.0.1"
nmcli -f ipv4.ignore-auto-dns,ipv4.dns connection show "$PROFILE"
1.1.1.1 y 1.0.0.1 son solo ejemplos. Si la empresa o el proveedor imponen sus resolutores, mantén los mismos: no los reemplaces por direcciones públicas sin verificar la política de la red. Una resolución rota corta el acceso con mayor certeza que una ruta errónea.
Para cambiar el perfil a direccionamiento manual, un solo comando agrupa el método, la dirección y la puerta de enlace:
sudo nmcli connection modify "$PROFILE" ipv4.method manual ipv4.addresses 198.51.100.10/24 ipv4.gateway 198.51.100.1
nmcli -f ipv4.method,ipv4.addresses,ipv4.gateway connection show "$PROFILE"
198.51.100.10/24 y 198.51.100.1 pertenecen al rango reservado para ejemplos: adáptalos al plan de direccionamiento de la máquina. Antes de la conmutación, anota la dirección y la puerta de enlace del arrendamiento DHCP mostradas por ip route get: el retroceso regresa ipv4.method a automático y reactiva el perfil.
La documentación oficial nmcli de NetworkManager enumera los nombres de propiedades y su sintaxis según la versión instalada.
Reactivar la conexión y luego verificar la ruta y el DNS
Los valores modificados permanecen inertes mientras el perfil no sea reactivado. nmcli connection up puede interrumpir brevemente el tráfico, incluido el SSH, incluso cuando el comando es correcto.
sudo nmcli connection up id "$PROFILE"
nmcli connection show --active
ip route get 1.1.1.1
getent hosts example.com
resolvectl status
nmcli connection up debe completarse sin errores y el perfil debe aparecer activo en nmcli connection show --active. Compara la interfaz y la puerta de enlace devueltas por ip route get con los valores anotados en el diagnóstico.
getent hosts example.com prueba la resolución con los mecanismos configurados en la máquina. resolvectl status detalla los DNS activos cuando systemd-resolved gestiona la resolución; si el comando no existe en tu distribución, verifica el resolutor realmente utilizado en lugar de considerar el DNS como validado.
Una ruta correcta con un nombre que ya no se resuelve indica un problema con el DNS, no con la ruta. La guía ip route en Linux separa la ruta, la puerta de enlace y la dirección fuente. Para volver a leer las direcciones de la interfaz, la guía ip addr en Linux completa la verificación.
Detener el procedimiento si otro herramienta gestiona la red
Si el diagnóstico inicial muestra otro gestor, no reactives ningún perfil con nmcli. En Ubuntu, se pueden gestionar archivos YAML mediante Netplan con un backend diferente al de NetworkManager: la prueba reversible Netplan es adecuada para esta configuración.
La segunda sesión SSH y la consola de respaldo limitan el riesgo de pérdida de acceso durante la conmutación, pero no hacen que un objetivo defectuoso sea inofensivo. Verifica que el perfil, la interfaz, la ruta y la resolución correspondan a los valores esperados antes de cerrar la sesión de respaldo.