nmcli: Herramienta de línea de comandos para controlar NetworkManager
nmcli es una poderosa herramienta de línea de comandos que permite gestionar y obtener información sobre NetworkManager en sistemas Linux. Es una alternativa flexible y versátil a las interfaces gráficas, ofreciendo un control preciso y automatizado sobre las conexiones de red.
NetworkManager es un componente fundamental del sistema operativo Linux que simplifica la gestión de redes. Se encarga de conectar y configurar automáticamente conexiones inalámbricas (Wi-Fi), conexiones cableadas (Ethernet) y conexiones móviles (WWAN). nmcli proporciona un conjunto de comandos para interactuar con NetworkManager, permitiendo a los usuarios realizar tareas esenciales de configuración de red.
Principales funcionalidades de nmcli
nmcli ofrece una amplia gama de opciones para administrar las redes, entre las que se incluyen:
Gestión de conexiones
- Crear conexiones: Define perfiles de conexión para redes Wi-Fi, Ethernet y WWAN, incluyendo información como nombre, SSID (para Wi-Fi), dirección IP y otros detalles de configuración.
- Mostrar conexiones: Obtiene una lista de los perfiles de conexión configurados, mostrando detalles como nombre, tipo de conexión, estado y dispositivos asociados.
- Editar conexiones: Modifica los parámetros de los perfiles de conexión existentes, como la contraseña de una red Wi-Fi, la dirección IP estática o los ajustes de seguridad.
- Eliminar conexiones: Elimina los perfiles de conexión que ya no se utilizan.
- Activar y desactivar conexiones: Conecta o desconecta dispositivos de red específicos o activa o desactiva perfiles de conexión existentes.
Control de dispositivos
- Mostrar el estado de los dispositivos: Obtiene información sobre los dispositivos de red disponibles, incluyendo su tipo (Wi-Fi, Ethernet, WWAN), estado (conectado, desconectado), dirección MAC y otras características.
- Controlar los dispositivos: Activa o desactiva dispositivos de red específicos, cambia el modo de funcionamiento (por ejemplo, de punto de acceso a cliente) y modifica los parámetros de configuración.
Monitoreo de actividad
- Observar la actividad de NetworkManager: Obtiene información sobre los eventos de red que ocurren, incluyendo conexiones y desconexiones, cambios de estado de los dispositivos y otras notificaciones.
- Registrar eventos: Configura el nivel de detalle de los registros de NetworkManager para obtener información más detallada sobre el comportamiento del sistema.
Configuración general
- Mostrar información general de NetworkManager: Obtiene información sobre el estado actual de NetworkManager, incluyendo su versión, configuración del archivo de configuración, nivel de registro y permisos.
- Cambiar el nombre de host del sistema: Define el nombre de host del sistema, que se utiliza para identificar el dispositivo en la red.
- Establecer el nivel de registro: Configura la cantidad de información que NetworkManager registra para la depuración.
Control de radios
- Mostrar el estado de las radios Wi-Fi y WWAN: Obtiene información sobre el estado de las radios inalámbricas, incluyendo si están activas o desactivadas, el modo de funcionamiento (cliente, punto de acceso) y la fuerza de la señal.
- Controlar las radios: Activa o desactiva las radios Wi-Fi y WWAN, cambia el modo de funcionamiento y configura otros parámetros específicos.
Opciones principales de nmcli
nmcli ofrece una serie de opciones para personalizar el comportamiento y la salida de los comandos:
- -t | –terse: Genera una salida concisa y breve, ideal para el procesamiento de scripts y automatizaciones.
- -p | –pretty: Genera una salida legible para humanos, con formato estético y estructurado.
- -m | –mode: Especifica el formato de salida, ya sea tabular (con columnas) o multiline (con cada línea representando un elemento).
- -c | –colors: Controla el uso de colores en la salida, mostrando información específica con diferentes colores para una mejor legibilidad.
- -f | –fields: Define los campos específicos que se muestran en la salida, seleccionando las columnas que se desean visualizar.
- -s | –show-secrets: Muestra información confidencial, como contraseñas y claves de seguridad, lo cual debe utilizarse con precaución.
- -w | –wait: Establece un tiempo de espera para que NetworkManager complete las operaciones antes de mostrar la salida.
- –complete-args: Lista las posibles compleciones para el último argumento del comando, ofreciendo sugerencias para facilitar la escritura de comandos.
- -v | –version: Muestra la versión actual de nmcli.
- -h | –help: Imprime la información de ayuda detallada sobre nmcli, incluyendo las opciones disponibles y los comandos específicos.
Principales comandos de nmcli
nmcli se estructura en torno a un conjunto de comandos principales que agrupan las funcionalidades de NetworkManager:
general
- status: Muestra el estado actual de NetworkManager, incluyendo su versión, configuración y permisos.
- hostname: Cambia el nombre de host del sistema.
- logging: Configura el nivel de registro de NetworkManager.
radio
- wifi: Muestra o controla el estado de la radio Wi-Fi.
- wwan: Muestra o controla el estado de la radio WWAN.
connection
- show: Muestra los perfiles de conexión configurados.
- add: Crea un nuevo perfil de conexión.
- edit: Edita un perfil de conexión existente.
- delete: Elimina un perfil de conexión.
- up: Activa un perfil de conexión.
- down: Desactiva un perfil de conexión.
device
- show: Muestra información sobre los dispositivos de red disponibles.
- status: Muestra el estado de los dispositivos de red.
- connect: Conecta un dispositivo de red.
- disconnect: Desconecta un dispositivo de red.
- activate: Activa un dispositivo de red.
- deactivate: Desactiva un dispositivo de red.
monitor
- dump: Obtiene información detallada sobre los eventos de red que se han producido.
- mode: Configura el modo de funcionamiento del monitor.
agent
- register: Registra nmcli como un agente de secretos o un agente polkit.
Ejemplos de uso de nmcli
Estos ejemplos muestran cómo utilizar nmcli para realizar tareas comunes de configuración de red:
- nmcli general status: Verifica si NetworkManager está en ejecución.
- nmcli radio wifi off: Desactiva la radio Wi-Fi.
- nmcli connection show: Muestra todos los perfiles de conexión configurados.
- nmcli device status: Muestra el estado de todos los dispositivos de red.
- nmcli dev connect em2: Conecta el dispositivo em2.
Notas importantes sobre nmcli
- nmcli admite abreviaturas de opciones, siempre y cuando sean únicas y no causen ambigüedad.
- La salida de nmcli puede variar dependiendo del entorno en el que se ejecute, especialmente al analizarla para el procesamiento de scripts.
- NetworkManager puede ejecutar scripts llamados «scripts de despachador» en respuesta a eventos de red, como la conexión o desconexión de dispositivos. Estos scripts pueden personalizar el comportamiento del sistema según las necesidades específicas.
Referencias adicionales
- nmcli-examples(7): Documentación oficial de ejemplos de uso de nmcli.
- nm-online(1): Manual de NetworkManager con información detallada sobre su funcionamiento.
- NetworkManager(8): Página de manual de NetworkManager.
- NetworkManager.conf(5): Archivo de configuración de NetworkManager.
- nm-settings(5): Documentación de la utilidad nm-settings.
- nm-applet(1): Manual de la aplicación gráfica nm-applet.
- nm-connection-editor(1): Manual del editor de conexiones de red.
Conclusión
nmcli es una herramienta esencial para la gestión de redes en Linux. Ofrece un control preciso y flexible sobre NetworkManager, permitiendo a los usuarios configurar y administrar las conexiones de red de manera eficiente. Su interfaz de línea de comandos es ideal para automatizar tareas, escribir scripts y realizar análisis de red.
Con su amplia gama de opciones y comandos, nmcli proporciona un conjunto completo de herramientas para gestionar las redes en sistemas Linux.