nmcli: Gestión de Redes en Linux con la Línea de Comandos

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.
LEER:  Solucionar "dhcpcd.service does not exist" en VirtualBox: Guía completa

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.
LEER:  Samsung M2020 Drivers Debian 11: Solución para tu Impresora

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.
LEER:  Nomenclatura de Dispositivos en Linux: Una Guía Exhaustiva

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.