Uso del comando nmcli con 20 ejemplos

Uso del comando nmcli con 20 ejemplos, para que sea más comprensible a los recién llegados a linux.

Integrado con la herramienta NetworkManager, el comando nmcli permite exprimir al máximo todo el potencial de la herramienta controladora de redes, directamente desde la línea de comandos en Linux. Fue lanzada en 2010 como reemplazo de otros comandos de configuración, como por ejemplo ifconfig.

Este comando tiene la capacidad de crear, mostrar, editar, eliminar, activar y desactivar las conexiones de red, así como el control y visualización de estados de los dispositivos de red. Destacamos su capacidad para incluirse en diferentes scripts y, que las configuraciones de los dispositivos de red se guardan en simples archivos.

Comando nmcli

Comando nmcli

 

Uso del comando nmcli con 20 ejemplos

En este artículo vemos los usos más comunes de la herramienta nmcli.

Verificar si NetworkManager se ejecuta y su estatus
nmcli -t -f RUNNING general

nmcli general

Ejemplo…

sergio@sololinux:~$ nmcli -t -f RUNNING general
running
sergio@sololinux:~$ nmcli general
STATE      CONNECTIVITY  WIFI-HW   WIFI      WWAN-HW   WWAN     
conectado  total         activado  activado  activado  activado

 

Listar los dispositivos de red
nmcli dev status

Salida del comando.

sergio@sololinux:~$ nmcli dev status
DEVICE  TYPE      STATE          CONNECTION  
wlo1    wifi      conectado      Mi-Wifi 
eno1    ethernet  no disponible  --          
lo      loopback  sin gestión    --

 

Listar las conexiones disponibles
nmcli con show

Verás algo similar a lo siguiente.

sergio@sololinux:~$ nmcli con show
NAME                 UUID                                  TYPE      DEVICE 
Mi-Wifi              a13c9aa1-53a7-43d3-b21b-c6e154baee28  wifi      wlo1   
SoloLinux            c04afe8f-8dfd-4904-a096-0134f5967b4c  wifi      --     
Conexión cableada 1  255b6d79-112e-3672-be85-b2ed504b811d  ethernet  --     
Redmi 10             e0b42888-6e31-44d2-9cce-20a5f6565c29  wifi      --     
Redmi 9Pro           c0caca6b-816a-442d-80c0-f139391bc816  wifi      --     
Timon                e3a4f736-2be1-4e4e-8365-3e4def1ff1a9  wifi      --     
Xiaomi_63F2          06763738-bd49-468c-8b95-1c1db19d74fd  wifi      --

 

Ver la configuración de una conexión
nmcli con show Mi-Wifi

Configuración detallada.

sergio@sololinux:~$ nmcli con show Mi-Wifi
connection.id:                          Mi-Wifi
connection.uuid:                        a13c9aa1-53a7-43d3-b21b-c6e154baee28
connection.stable-id:                   --
connection.type:                        802-11-wireless
connection.interface-name:              --
connection.autoconnect:                 sí
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.auth-retries:                -1
connection.timestamp:                   1618396000
connection.read-only:                   no
connection.permissions:                 user:sergio

 

Verificar el estado de los dispositivos
nmcli dev status

Ejemplo de salida.

sergio@sololinux:~$ nmcli dev status
DEVICE  TYPE      STATE          CONNECTION  
wlo1    wifi      conectado      Mi-Wifi
eno1    ethernet  no disponible  --          
lo      loopback  sin gestión    --

 

Activar una conexión
nmcli con up eth1

 

Desactivar una conexión
nmcli con down eth1

 

Cambiar el hostname con nmcli
sudo nmcli general hostname Nuevo-Hostname

Verificamos que el cambio se ha producido correctamente.

nmcli general hostname

Imagen de ejemplo.

Verificar el hostname con el comando nmcli

Verificar el hostname con el comando nmcli

 

Crear una conexión ethernet y asignar una IP automática
sudo nmcli con add con-name eth3 type ethernet ifname eth3 ipv4.method auto

Nos dice que la conexión se creó correctamente.

Connection 'eth3' (850b8u8o-i644-4a25-c1ec-4d545gy8juk3) successfully added.

 

Crear una conexión ethernet y asignar una IP estática

En nuestro ejemplo, configuramos la interfaz eth1 (de forma estática) con la dirección IPv4 192.168.100.5/24 y,  la puerta de enlace predeterminada 192.192.0.1.

sudo nmcli con add con-name eth1 type ethernet ifname eth1 ipv4.method manual ipv4.address 192.168.100.5/24 ipv4.gateway 192.192.0.1

Si la operación es positiva, veremos una respuesta similar a…

Connection 'eth1' (850b8u8o-i644-4a25-c1ec-4d545gy8juk3) successfully added.

 

Recargar la configuración de la conexión
sudo nmcli con reload

Imagen de ejemplo.

Recargar la conexion con el comando nmcli

Recargar la conexión con el comando nmcli

 

Editar una conexión de forma interactiva

El comando nmcli dispone de su propia consola de edificio. En nuestro caso abrimos la «Redmi10» y, solicitamos ver la ayuda con «help».

nmcli con edit  Redmi

>help

Vemos una pantalla similar a…

sergio@sololinux:~$ nmcli con edit  Redmi

===| Editor de conexión interactivo de nmcli |===

Modificando la conexión «802-11-wireless» existente: «Redmi»

Escriba «help» o «?» para comandos disponibles.
Escriba «describe [<parámetro>.<prop>]» para una descripción de propiedad detallada.

Puede modificar los siguientes parámetros: connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ipv4, ipv6, tc, proxy
nmcli> help
------------------------------------------------------------------------------
---[ Menú principal ]---
goto     [<parámetro> | <prop>]         :: ir a parámetro o propiedad
remove   <parámetro>[.<prop>] | <prop>  :: retirar parámetro o restablecer valor de propiedad
set      [<parámetro>.<prop> <valor>]   :: establecer valor de propiedad
describe [<parámetro>.<prop>]           :: describir propiedad
print    [all | <parámetro>[.<prop>]]   :: imprimir la conexión
verify   [all | fix]                    :: verificar la conexión
save     [persistent|temporary]         :: guardar la conexión
activate [<ifname>] [/<ap>|<nsp>]       :: activar la conexión
back                                    :: ir a un nivel superior (atrás)
help/?   [<comando>]                    :: imprimir esta ayuda
nmcli    <opción-conf> <valor>          :: configuración nmcli 
quit                                    :: salir de nmcli
------------------------------------------------------------------------------
nmcli>

 

Cambiar la directiva ONBOOT

La directiva ONBOOT, ordena la precarga del archivo de configuración de la conexión. Puedes bloquear esta orden con este comando.

sudo nmcli con mod eth1 connection.autoconnect no

Verificamos.

egrep 'ONBOOT' /etc/sysconfig/network-scripts/ifcfg-eth1

Obtenemos el resultado.

ONBOOT=no

Uso del comando nmcli con 20 ejemplos

 

Cambiar la directiva DEFROUTE

Por defecto, cualquier puerta de enlace que agregues al sistema, se considera como predeterminada. Este efecto no siempre conviene, si es tu caso… lo puedes anular.

nmcli con mod eth1 ipv4.never-default yes

Verificamos.

egrep '^DEFROUTE' /etc/sysconfig/network-scripts/ifcfg-eth1

Respuesta correcta.

DEFROUTE=no

 

Deshabilitar IPv6 en una conexión
nmcli con mod eth1 ipv6.method ignore
Bloquear IPv6 con el comando nmcli

Bloquear IPv6 con el comando nmcli

 

No conectar automáticamente

Por defecto, al insertar el cable a la conexión ethernet se conecta automáticamente, puedes modificar esto usando el siguiente comando.

nmcli con mod eth1 connection.autoconnect no

 

Modificar las DNS de una conexión existente

Mira que sencillo y rápido, puedes modificar las dns con el comando nmcli.

nmcli con mod eth1 ipv4.dns 1.1.1.1

 

Agregar otro servidor DNS al existente

Con el anterior comando nmcli, vimos como agregar o modificar una DNS a la conexión. Ahora añadimos una segunda dirección DNS, también conocida como secundaria.

nmcli con mod eth1 +ipv4.dns 1.0.0.1

Verificamos.

egrep DNS /etc/sysconfig/network-scripts/ifcfg-eth1

DNS1=1.1.1.1
DNS2=1.0.0.1

 

Eliminar uno o varios servidores DNS

Eliminar una DNS:

nmcli con mod eth1 -ipv4.dns 1.0.0.1

Eliminar múltiples DNS:

nmcli con mod eth1 -ipv4.dns 1.0.0.1,1.1.1.1

 

Mostrar valores específicos con el comando nmcli

Imprimir la dirección IPv4.

nmcli -g ip4.address connection show eth0

Imprimir la dirección IPv4 y las DNS.

nmcli -g ip4.address,ipv4.dns connection show eth0

Salida de ejemplo…

sergio@sololinux:~$ nmcli -g ip4.address,ipv4.dns connection show eth0
1.1.1.1,1.0.0.1
192.192.0.5/24

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Uso del comando nmcli con 20 ejemplos.

Chat de SoloLinux en Telegram

 

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido