Tutoriales

Administrar conexiones de red con NMCLI en Linux

Al principio, la administración de conexiones de red en Linux a través de Terminal Windows parecía desalentador, pero encontré Nmcli Una vez que esté satisfecho con su gramática, conviértase en una de las herramientas de la segunda naturaleza.

Esta poderosa herramienta de línea de comandos puede ayudarlo Configuración y administración de conexiones de red en Linux El sistema es fácil de ser efectivo.

En estos detalles, aprenderemos Que es nmclisus funciones, y Uso del comando nmcli Con ejemplos reales en Linux.

¿Qué es NMCLI?

nmcli representar Interfaz de línea de comandos de NetworkManager. Te permite:

  • Ver interfaces de red disponibles y su estado
  • Conectarse a Wi-Fi o red con cable
  • Configurar una dirección IP estática
  • Habilitar o deshabilitar redes e interfaces
  • Administrar VPN y otras configuraciones avanzadas

Por defecto, es liviano, rápido y disponible en la mayoría de las distribuciones modernas de Linux.

Publicaciones relacionadas

Nmcli es Networkmanagereste es el conjunto estándar de herramientas para administrar redes Linux.

Piense en un administrador de red como el cerebro que maneja todas sus conexiones de red, desde Wi-Fi hasta Ethernet e incluso de banda ancha móvil. nmcli Desde el terminal, puede controlar este cerebro directamente.

tenga en cuenta Nmcli No específicamente para Red Hat Enterprise Linux (RHEL).

Esta es una herramienta de línea de comandos de código abierto multifuncional

Ventajas de NMCLI

Mucha gente encontrada nmcli Muy útil porque:

  • No se requiere una interfaz gráfica: Puedes usar nmcli Para controlar NetworkManager en el servidor, una máquina «sin cabeza» (una máquina sin pantalla) o simplemente desde cualquier terminal. No necesitas un mouse o pantalla elegante.
  • Muy adecuado para guiones: en efecto, nmcli Se proporciona un formato especial de «salida de salida». Este formato muestra solo valores básicos, lo que facilita que los scripts de la computadora lean y procesen automáticamente la información de la red.
  • Control completo: y nmcliPuede crear, mostrar, editar, eliminar, activar y desactivar conexiones de red. También puede verificar y controlar el estado de los dispositivos de red.

Comprender la sintaxis del comando nmcli

Cada nmcli El comando sigue una estructura simple:

nmcli [OPTIONS] OBJECT { COMMAND | help }
  • OPTIONS: Cómo funcionan estos comandos de modificación, como cambiar el estilo de salida.
  • OBJECT: Esto muestra nmcli Lo que quieres administrar. Los objetos comunes incluyen:
    • general: Se utiliza para el estado general del administrador de la red.
    • networking: Activar o desactivar la red.
    • radio: Administre Wi-Fi o radio de banda ancha móvil.
    • connection (o con En resumen): utilizado para administrar archivos de configuración de red guardados.
    • device (o dev En resumen): utilizado para administrar hardware de red física o virtual.

Por lo general, puede usar versiones más cortas de objetos y comandos (abreviado). Por ejemplo, nmcli connection help y nmcli con help.

Comandos básicos de NMCLI, simples y prácticos

Exploremos algunas tareas comunes que puede realizar nmcli.

1. Verifique el estado de la red

Puede obtener rápidamente instantáneas de la salud de su red.

1.1. Ver el estado general de NetworkManager

Para ver si NetworkManager se está ejecutando y cuál es su estado general, puede usar:

nmcli general status

# Or the shorter version:

nmcli g s

Esto indica si su sistema está conectado y tiene acceso completo a Internet.

Salida de muestra:

STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN     METERED      
connected  full          missing  enabled  missing  enabled  no (guessed) 
Verifique el estado de la red utilizando NMCLI

Para una salida más simple adecuada para scripts, ejecute:

nmcli -t -f STATE general

La salida puede parecer:

Connected

1.2 Verifique todos los equipos de red

Para enumerar todos los dispositivos de red, ya sea administrados por el Administrador de red o no, puede ejecutarse:

nmcli device status

# Or:

nmcli d s

Este comando muestra todas las interfaces de red y su estado actual. Verás dispositivos similares ens18 (Ethernet) o lo (bucle) y su estado actual (p. Ej. connected,,,,, unmanaged).

Salida de muestra:

DEVICE  TYPE      STATE                   CONNECTION         
ens18   ethernet  connected               Wired connection 1 
lo      loopback  connected (externally)  lo                 
Verifique todos los dispositivos de red utilizando NMCLI
Verifique todos los dispositivos de red utilizando NMCLI

1.3. Ver todas las conexiones guardadas

NetworkManager almacena detalles de conexión en un archivo de configuración, los mismos detalles que la configuración de red guardada. Puede crear múltiples archivos de configuración para la misma interfaz, tal vez uno para DHCP y otro para direcciones IP estáticas.

Para ver una lista de todos los perfiles de conexión de red guardados, escriba:

nmcli connection show

# Or:

nmcli con show

Puede ver su conexión real (no solo el dispositivo). Esto muestra su nombre, ID único (UUID), tipo y el dispositivo al que vinculan.

Salida de muestra:

NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  2b89e468-7c07-48b0-a59a-5ebae1642386  ethernet  ens18  
lo                  5c293ac3-8bb7-45a9-98d7-cf8d80ea93c4  loopback  lo  

1.4. Mostrar solo conexiones activas

Si desea ver solo la conexión que está utilizando actualmente, agregue --active Opciones:

nmcli connection show --active

# Or:

nmcli con show -a

Esto puede ayudarlo a determinar rápidamente qué perfiles están administrando activamente los dispositivos de red.

1.5. Verifique el estado de transmisión de Wi-Fi

Para ver si su radio Wi-Fi está encendida o apagada, use:

nmcli radio wifi

Salida de muestra:

enabled

Tú también puedes nmcli radio wifi on o nmcli radio wifi off.

2. Administrar conexiones de red

nmcli Haga que configurar, cambiar, activar y eliminar conexiones de red sea fácil de configurar.

2.1. Cree una nueva conexión Ethernet (IP dinámica)

Para una nueva conexión Ethernet, la conexión obtiene automáticamente su dirección IP (DHCP):

nmcli connection add type ethernet con-name wired-connection ifname ens18

Esto crea un perfil con un nombre wired-connection para ens18 interfaz.

Para comenzar a usarlo, activarlo:

nmcli connection up wired-connection

Entonces, verás ens18 Dispositivos conectados a wired-connection.

Si quieres Nombre de conexión (Nombre del perfil) Para incluir espacios, debe Envuelva el nombre en la cita. Sin citas, el shell trata el espacio como un parámetro separado y el comando falla.

nmcli connection add type ethernet con-name "Office LAN Connection" ifname ens18

Después de la creación, puedes activarlo así:

nmcli connection up "Office LAN Connection"

Y siempre cite el nombre si necesita modificarlo o eliminarlo.

2.2. Cree una nueva conexión Ethernet (IP estática)

Si necesita establecer una dirección IP específica (estática), puerta de enlace y servidor DNS:

nmcli connection add type ethernet con-name wired-network ifname ens18 ip4 192.168.1.13/24 gw4 192.168.1.101

Esto establece un perfil con un nombre wired-network Con dirección IPv4 estática y puerta de enlace.

Para agregar un servidor DNS a este archivo de configuración:

nmcli connection modify wired-network ipv4.dns "8.8.8.8 8.8.4.4"

Esto reemplaza cualquier servidor DNS IPv4 existente.

Para agregar más sin reemplazo, use +ipv4.dns.

2.3. Lista de redes Wi-Fi disponibles

Antes de conectarse a una red WiFi, es posible que desee consultar las redes Wi-Fi cercanas:

nmcli device wifi list

Este comando muestra SSID, resistencia a la señal y tipo de seguridad.

Salida de muestra:

IN-USE  BSSID              SSID              MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
*       F4:S7:C8:36:N2:46  Ostechnix_jio_4g  Infra  6     130 Mbit/s  100     ▂▄▆█  WPA2     
        N4:Z7:C6:96:B2:2A  Ostechnix_jio_5g  Infra  36    270 Mbit/s  100     ▂▄▆█  WPA2     
        9A:04:88:25:62:74  vivo Y39 5G       Infra  1     117 Mbit/s  54      ▂▄__  WPA2     
        D2:78:C9:C5:31:E1  Govindaraju       Infra  6     270 Mbit/s  52      ▂▄__  WPA2     

2.4. Conectarse a la red Wi-Fi

Conéctese a una red Wi-Fi que requiere una contraseña:

nmcli device wifi connect "Your_WiFi_SSID" password "Your_Password"

Si es una red oculta, agregue hidden yes.

Ejemplo 1: para redes visibles

nmcli device wifi connect MyWiFi password mysecretpass

Ejemplo 2: utilizado para ocultar la red

nmcli device wifi connect MyHiddenWiFi password mysecretpass hidden yes

2.5. Modificar una conexión existente

Puede cambiar las diversas propiedades de las conexiones de ahorro. Por ejemplo, cambiar mtu (Unidad de transmisión máxima) para la conexión Wi-Fi nombrada MyConnection:

nmcli connection modify MyConnection 802-11-wireless.mtu 1350

NetworkManager significa 802-11-wireless Como «configuración» y mtu Como su «propiedad».

2.6. Activar la conexión

Una conexión a guardar en el dispositivo se asigna (por ejemplo, myconnection):

nmcli connection up MyConnection

Este comando conecta su dispositivo utilizando el archivo de configuración seleccionado.

2.7. Deshabilitar la conexión

Evitar conexiones específicas de activo:

nmcli connection down MyConnection

Tenga en cuenta que este comando deshabilita la conexión, pero el dispositivo aún está listo para conectarse. Intentará activar automáticamente otra conexión adecuada.

2.8. Eliminar una conexión

Si ya no necesita un perfil de red, puede eliminarlo:

nmcli connection delete "Old Profile Name"

Reemplace el «Nombre del archivo de configuración anterior» con el nombre del archivo de configuración real. Esto eliminará el archivo de configuración de conexión del NetworkManager.

2.9. Recargar el archivo de configuración de conexión

nmcli connection reload

3. Control de equipo de red

Además de conectarse, puede administrar su dispositivo usted mismo.

3.1. Desconectar el dispositivo

Para desconectar el dispositivo de red y evitar que se conecte automáticamente nuevamente hasta que lo indique:

nmcli device disconnect ens18

Esto es con connection downya que evita que el dispositivo se vuelva a conectarse.

3.2. Configurar dispositivos no administrados

A veces, es posible que desee que NetworkManager ignore el dispositivo, lo que le permite administrarlo manualmente (por ejemplo, usando scripts). Establezca temporalmente el dispositivo en un dispositivo no administrado:

nmcli device set enp18 managed no

Esto le dice a NetworkManager que se vaya enp18 Solo.

3.3. Configure permanentemente el dispositivo como un dispositivo no administrado

Para cambios permanentes, cree un archivo de configuración /etc/NetworkManager/conf.d/99-unmanaged-devices.conf Tener lo siguiente:

[keyfile]
unmanaged-devices=interface-name:enp18

Para establecer múltiples dispositivos en dispositivos no administrados, establezca unmanaged-devices Los parámetros son semicolonizados de la siguiente manera:

[keyfile]
unmanaged-devices=interface-name:enp18;interface-name:ens3

Finalmente, vuelva a cargar el servicio NetworkManager para implementar los cambios:

sudo systemctl reload NetworkManager

Puede usar el comando para verificar la lista de dispositivos de no gestión:

nmcli device status

Salida de muestra:

DEVICE  TYPE      STATE      CONNECTION
enp1s0  ethernet  unmanaged  --

4. Comandos avanzados de NMCLI para eficiencia

nmcli Proporcione opciones útiles para personalizar su salida de acuerdo con sus necesidades.

4.1. Salida breve (-t)

Al escribir scripts, generalmente solo necesita datos sin procesar sin formato adicional. este -t Las opciones se proporcionan con precisión:

nmcli -t device

Esto hace que la salida de análisis en un script sea mucho más simple.

Salida de muestra:

ens18:ethernet:connected:Wired connection 1
lo:loopback:connected (externally):lo

4.2. Filtrado en el sitio (-f)

Puede seleccionar la información específica (campo) para mostrar. Esto reduce la confusión y te ayuda a concentrarte en lo que importa:

nmcli -f DEVICE,TYPE device

Salida de muestra:

DEVICE  TYPE     
ens18   ethernet 
lo      loopback 

Combínelo juntos -t Para datos específicos amigables con el script: nmcli -t -f DEVICE,TYPE device.

4.3. Hermosa salida (-p)

Para lectores humanos, nmcli Puede hacer que su salida sea ordenada y alineada con el título. Esto es ideal para ver la información directamente en la terminal:

nmcli -p device

Esto hace que la información sea más fácil de navegar.

Salida de muestra:

=====================
  Status of devices
=====================
DEVICE  TYPE      STATE                   CONNECTION         
-----------------------------------------------------------------------------------
ens18   ethernet  connected               Wired connection 1 
lo      loopback  connected (externally)  lo     

4.4. Editor interactivo

Para configuraciones más complejas, o si prefiere un enfoque guiado, nmcli Con editor interactivo:

nmcli connection edit

Le pedirá que proporcione el tipo de conexión y luego lo guíe para que establezca varias propiedades.

Valid connection types: 6lowpan, 802-11-olpc-mesh (olpc-mesh), 802-11-wireless (wifi), 802-3-ethernet (ethernet), adsl, bluetooth, bond, bridge, cdma, dummy, generic, gsm, hsr, infiniband, ip-tunnel, ipvlan, loopback, macsec, macvlan, ovs-bridge, ovs-interface, ovs-port, pppoe, team, tun, veth, vlan, vpn, vrf, vxlan, wifi-p2p, wimax, wireguard, wpan, bond-slave, bridge-slave, team-slave
Enter connection type: ethernet

===| nmcli interactive connection editor |===

Adding a new '802-3-ethernet' connection

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property description.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, hostname, link, tc, proxy
nmcli>

Editor interactivo de NMCLI
Editor interactivo de NMCLI

Esto ayuda a explorar las opciones y garantizar la sintaxis correcta.

Puede proporcionar directamente el tipo de conexión (por ejemplo, Ethernet, WiFi, etc.) de la siguiente manera:

nmcli connection edit type ethernet

Para más ejemplos y detalles, considere verificar la página del hombre NMCLI.

man nmcli

5. Verifique el registro para la solución de problemas

Cuando las cosas se rompen, puede verificar los registros usando el comando:

nmcli general logging

Verá el nivel de registro y el dominio monitoreado, lo que puede ayudar a identificar las configuraciones erróneas.

6. Establezca permisos de conexión NMCLI

nmcli Dejarte Restringir o otorgar una licencia Para perfiles de conexión de Ethernet (o cualquiera) específicos. Cuando varios usuarios comparten el mismo sistema, pero debe controlar esta función Quién puede activar o modificar archivos de configuración de red.

Por defecto, cualquier usuario con acceso a NetworkManager puede traer una conexión arriba o abajo. Sin embargo, puede limitar esto asignando permisos a una conexión específica.

1. Permite a un solo usuario administrar conexiones

nmcli connection modify MyConnection connection.permissions user:senthil
  • MyConnection: El nombre (ID) del archivo de configuración de conexión.
  • connection.permissions: Define las propiedades que permiten a los usuarios.
  • user:john: Licencia de subvención El único Al usuario senthil.

2. Permitir múltiples usuarios

Si varios usuarios deben administrar conexiones, separan los nombres de usuario con comas (sin espacio):

nmcli connection modify MyConnection connection.permissions user:senthil,kumar

Esto hace posible ambos senthil y kumar Activar, desactivar o modificar el archivo de configuración especificado MyConnection.

3. Eliminar todos los permisos (nuevamente global)

Eliminar restricciones y permitir Todos los usuarios Para administrar conexiones, borrar las propiedades:

nmcli connection modify MyConnection connection.permissions \"\"

4. Restricciones de límite de licencia de prueba

Si el usuario No listado existir connection.permissions (por ejemplo, Satheesh) intenta establecer una conexión:

nmcli connection up MyConnection

Ellos conseguirán uno permiso denegado Error, y el archivo de configuración no se activará. porque, Usuario actual Hacer No Tener derecho a administrar MyConnection contorno.

Para resolver este problema, tiene tres opciones:

1. Cambiar a los usuarios permitidos (Por ejemplo, su senthil).

2. Agregue el usuario actual Al perfil:

nmcli connection modify MyConnection connection.permissions user:senthil.kumar,satheesh

3. Retire todas las restricciones:

nmcli connection modify MyConnection connection.permissions ""

7. Comandos de referencia rápidos

Este es el comando que uso con más frecuencia:

  • nmcli device – Mostrar el estado del dispositivo
  • nmcli connection show – Enumere todas las conexiones
  • nmcli device wifi list – Escanear la red WiFi
  • nmcli connection up "name" – activar la conexión
  • nmcli connection down "name" – Desactivar la conexión
  • nmcli connection delete "name" – Eliminar el archivo de configuración de conexión

Mesa de trucos de comando nmcli

Este es un Actual nmcli Hoja de trucos de comando Las tareas más importantes están cubiertas.

1. Estado de red general

ObjetivoOrden
Mostrar estado generalnmcli general status
Mostrar solo el estado de conexiónnmcli -t -f STATE general
Mostrar versión de NetworkManagernmcli --version

2. Enumere y administre dispositivos

ObjetivoOrden
Enumere todos los dispositivos de rednmcli device status
Desconectar el dispositivonmcli device disconnect eth0
Vuelva a conectar el dispositivonmcli device connect eth0
Escanee las redes Wi-Fi disponiblesnmcli device wifi list

3. Administrar conexiones (archivos de configuración)

ObjetivoOrden
Lista todas las conexiones guardadasnmcli connection show
Lista solo conexiones activasnmcli connection show --active
Activar la conexiónnmcli connection up my-office
Deshabilitar la conexiónnmcli connection down my-office
Eliminar una conexiónnmcli connection delete my-office

4. Conéctese a Wi-Fi

ObjetivoOrden
Conéctese a Wi-Fi usando SSIDnmcli device wifi connect MyWiFi password mysecretpass
Conectarse a una red ocultanmcli device wifi connect HiddenSSID password mysecretpass hidden yes

5. Cree una nueva conexión Ethernet

ObjetivoOrden
Agregar conexiones basadas en DHCPnmcli connection add type ethernet con-name my-office ifname ens3
Configuración de una IP estáticabash\nnmcli connection modify my-office \\\n ipv4.addresses 192.168.1.100/24 \\\n ipv4.gateway 192.168.1.1 \\\n ipv4.dns 8.8.8.8,1.1.1.1 \\\n ipv4.method manual
Reactivar la conexión modificadanmcli connection up my-office

6. Abreviatura rápida

Comando completoForma corta
nmcli connection shownmcli con show
nmcli connection upnmcli con up
nmcli device statusnmcli dev
nmcli general statusnmcli g

7. Comandos de solución de problemas

ObjetivoOrden
Mostrar registros de NetworkManagernmcli general logging
Reiniciar NetworkManagersudo systemctl restart NetworkManager
Recargar el archivo de configuración de conexiónnmcli connection reload

Resumen

este nmcli De hecho, es la navaja suiza para la gestión de la red Linux. Maneja todo, desde verificaciones básicas de estado de red hasta configuraciones de conexión compleja para administradores de sistemas y usuarios avanzados.

Dominando nmcli Uso de comandos, puede obtener un control preciso de la red en Linux.

Lecturas relacionadas:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba