Nmcli (interfaz de línea de comandos del administrador de red) es una utilidad de línea de comandos utilizada para controlar el demonio NetworkManager que se utiliza para configurar las interfaces de red.
Con la utilidad nmcli, puede mostrar, crear, editar, habilitar y deshabilitar conexiones o interfaces de red. Es especialmente útil para servidores y sistemas headless que no tienen GUI.
En este tutorial, nos enfocamos en cómo puede configurar una red IP con el comando nmcli en Linux.
Sintaxis básica
El comando nmcli toma la sintaxis que se muestra a continuación:
$ sudo nmcli [OPTIONS] OBJETO {COMANDO | ayuda }
Donde Objeto puede ser cualquiera de los siguientes:
- Dispositivo o interfaz de red administrado por NetworkManager
- Conexión de NetworkManager.
- Estadísticas de NetworkManager
Veamos ahora cómo puede configurar una red IP con el comando nmcli en Linux
Mostrar interfaces de red activas e inactivas
Sin ningún argumento de comando, el comando nmcli muestra información detallada sobre todas las interfaces de red, tanto activas como inactivas.
$ nmcli
Parte de la información que se muestra incluye el estado de la conexión de red, el tipo de hardware del adaptador de red asociado con la interfaz, la dirección MAC, las direcciones IPv4 e IPv6 y las rutas predeterminadas.
Para obtener un breve resumen de las interfaces de red, ejecute el comando:
$ nmcli device status OR $ nmcli dev status
Para enumerar todas las interfaces activas en su sistema, ejecute el comando:
$ nmcli connection show OR $ nmcli con show
La salida muestra el nombre de la conexión, UUID, el tipo de conexión (por cable o WiFi) y el dispositivo (interfaz de red)
Alternativamente, puede ejecutar el comando:
$ nmcli connection show --active
Especificar campos de salida en la salida
Puede especificar qué campos desea que se muestren en el terminal. Los campos válidos incluyen DISPOSITIVO, TIPO, CONEXIÓN, CONN-UUID, ESTADO, CONECTIVIDAD IP4 y CONECTIVIDAD IP6.
En el siguiente ejemplo, hemos elegido mostrar solo el DISPOSITIVO y el TIPO DE DISPOSITIVO.
$ nmcli -f DEVICE, TYPE device
Usando la opción -p (bonita), puede mostrar la salida en un formato más legible donde los valores y los encabezados están bien alineados.
$ nmcli -p device
Configuración de una IP estática con la utilidad nmcli
En esta sección, demostraremos cómo puede configurar una dirección IP estática con los siguientes valores:
- Dirección IP: 192.168.2.150/24
- Puerta de enlace predeterminada: 192.168.2.1
- DNS preferido: 8.8.8.8, 8.8.4.4
- Direccionamiento IP estático
Antes de asignar una IP estática, verifiquemos la dirección IP actual de nuestro sistema, que es 192.168.2.104 como se indica.
Para configurar la dirección IP estática con el nombre de conexión o perfil llamado static-ip, dirección IPv4 192.168.2.150 y puerta de enlace predeterminada 192.168.2.150 ejecutaremos el comando:
$ sudo nmcli con add type ethernet con-name "static-ip" ifname enp0s3 ipv4.addresses 192.168.2.150/24 gw 192.168.2.1
A continuación, configuraremos el servidor DNS de la siguiente manera.
$ sudo nmcli con mod static-ip ipv4.dns "8.8.8.8 8.8.4.4"
Para activar la conexión ejecutaremos el comando:
$ sudo nmcli con up static-ip ifname enp0s3
Simplemente hemos agregado otra dirección IP a nuestra interfaz de red enp0s3. Para confirmar que la dirección IP se agregó con éxito, ejecutaremos el comando ip:
$ ip addr
Habilitar / deshabilitar una conexión de red
En esta sección, exploraremos cómo puede administrar la conexión activándola o desactivándola. Para deshabilitar o desactivar una conexión, ejecute el comando:
$ sudo nmcli con down id "static-ip" ifname enp0s3
También puede simplemente omitir los parámetros ifname enp0s3.
$ sudo nmcli con down id "static-ip"
Para abrir o habilitar una conexión, ejecute el comando:
$ sudo nmcli con up id "static-ip" ifname enp0s3
Alternativamente, puede truncar el comando de la siguiente manera:
$ sudo nmcli con up id "static-ip"
Para obtener más información sobre las opciones del comando nmcli, simplemente ejecute el comando:
$ nmcli --help
Conclusión
La utilidad nmcli es una herramienta útil para agregar y administrar conexiones de red en sistemas Linux. Proporciona opciones sencillas de línea de comandos para ayudarlo a configurar redes, particularmente en servidores sin periféricos. En esta guía, hemos demostrado cómo puede agregar y administrar conexiones de red con el comando nmcli en Linux.
Leer también: 9 ejemplos de comandos tee en Linux