NetworkManager es un demonio dinámico de control y configuración de red que intenta mantener las conexiones de red activas y en funcionamiento. nmcli
es una herramienta de línea de comandos que se utiliza para interactuar con NetworkManager. Esta publicación proporcionará una guía completa sobre el uso de nmcli
para gestionar conexiones de red en Linux.
Instalación
nmcli
generalmente se instala de forma predeterminada en la mayoría de las distribuciones de Linux que utilizan NetworkManager. Sin embargo, si no está instalado, puedes instalarlo usando el gestor de paquetes de tu distribución:
- Debian/Ubuntu:
sudo apt install network-manager
- Fedora/CentOS/RHEL:
sudo dnf install NetworkManager
osudo yum install NetworkManager
- Arch Linux:
sudo pacman -S networkmanager
Uso Básico
Mostrar Conexiones de Red
Para listar todas las conexiones de red disponibles:
nmcli connection show
Esto mostrará una tabla con el nombre de la conexión, UUID, tipo y dispositivo.
Mostrar Dispositivos de Red
Para listar todos los dispositivos de red:
nmcli device show
Esto mostrará información sobre cada dispositivo de red, incluyendo su estado, tipo y dirección hardware.
Activar una Conexión
Para activar una conexión (por ejemplo, MiWiFi
):
nmcli connection up MiWiFi
Desactivar una Conexión
Para desactivar una conexión (por ejemplo, MiWiFi
):
nmcli connection down MiWiFi
Editar Conexiones
Puedes modificar las conexiones existentes usando nmcli
. Por ejemplo, para editar la contraseña de Wi-Fi para una conexión llamada MiWiFi
:
nmcli connection modify MiWiFi wifi-sec.psk "tu_nueva_contraseña"
Luego, necesitas desactivar y activar la conexión para que los cambios surtan efecto:
nmcli connection down MiWiFi
nmcli connection up MiWiFi
Crear una Nueva Conexión Wi-Fi
Para crear una nueva conexión Wi-Fi, necesitarás el SSID y la contraseña:
nmcli device wifi connect "TuWiFiSSID" password "TuWiFiContraseña" name "MiNuevaWiFi"
Reemplaza "TuWiFiSSID"
, "TuWiFiContraseña"
y "MiNuevaWiFi"
con el SSID, la contraseña y el nombre de conexión deseados de tu red Wi-Fi, respectivamente.
Crear una Nueva Conexión Ethernet
Para las conexiones Ethernet, normalmente no necesitas especificar una contraseña. Puedes crear una nueva conexión Ethernet con un nombre de conexión específico:
nmcli connection add type ethernet con-name MiEthernet ifname eth0
Reemplaza MiEthernet
con el nombre de conexión deseado y eth0
con el nombre de la interfaz si es diferente.
Establecer una Dirección IP Estática
Para configurar una dirección IP estática para una conexión (por ejemplo, MiEthernet
):
nmcli connection modify MiEthernet ipv4.method manual
nmcli connection modify MiEthernet ipv4.address 192.168.1.100/24
nmcli connection modify MiEthernet ipv4.gateway 192.168.1.1
nmcli connection modify MiEthernet ipv4.dns 8.8.8.8
Reemplaza la dirección IP, la puerta de enlace y el servidor DNS con los valores deseados. Nuevamente, necesitarás desactivar y activar la conexión para que los cambios surtan efecto.
nmcli connection down MiEthernet
nmcli connection up MiEthernet
Eliminar una Conexión
Para eliminar una conexión (por ejemplo, MiViejoWiFi
):
nmcli connection delete MiViejoWiFi
Consejos y Trucos Útiles
- Completado con Tab:
nmcli
admite el completado con tabulación, lo que facilita la introducción de comandos y nombres de conexión. - Ayuda: Usa
nmcli --help
onmcli <comando> --help
para obtener información detallada sobre los comandos y opciones. - Perfiles: NetworkManager guarda perfiles de conexión, por lo que puedes cambiar fácilmente entre diferentes configuraciones de red.
- Solución de problemas: Si encuentras problemas, verifica los registros de NetworkManager (generalmente en
/var/log/syslog
o/var/log/messages
) para ver los mensajes de error.
Conclusión
nmcli
es una herramienta potente y versátil para gestionar conexiones de red en Linux. Al dominar los comandos descritos en esta guía, puedes configurar y solucionar problemas de tu configuración de red fácilmente desde la línea de comandos. Esto es especialmente útil para servidores sin interfaz gráfica o cuando prefieres una interfaz de línea de comandos.