
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.
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
nmcliPara 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,
nmcliSe 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 muestranmcliLo 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(oconEn resumen): utilizado para administrar archivos de configuración de red guardados.device(odevEn 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)
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

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>

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 usuariosenthil.
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 dispositivonmcli connection show– Enumere todas las conexionesnmcli device wifi list– Escanear la red WiFinmcli connection up "name"– activar la conexiónnmcli connection down "name"– Desactivar la conexiónnmcli 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
| Objetivo | Orden |
|---|---|
| Mostrar estado general | nmcli general status |
| Mostrar solo el estado de conexión | nmcli -t -f STATE general |
| Mostrar versión de NetworkManager | nmcli --version |
2. Enumere y administre dispositivos
| Objetivo | Orden |
|---|---|
| Enumere todos los dispositivos de red | nmcli device status |
| Desconectar el dispositivo | nmcli device disconnect eth0 |
| Vuelva a conectar el dispositivo | nmcli device connect eth0 |
| Escanee las redes Wi-Fi disponibles | nmcli device wifi list |
3. Administrar conexiones (archivos de configuración)
| Objetivo | Orden |
|---|---|
| Lista todas las conexiones guardadas | nmcli connection show |
| Lista solo conexiones activas | nmcli connection show --active |
| Activar la conexión | nmcli connection up my-office |
| Deshabilitar la conexión | nmcli connection down my-office |
| Eliminar una conexión | nmcli connection delete my-office |
4. Conéctese a Wi-Fi
| Objetivo | Orden |
|---|---|
| Conéctese a Wi-Fi usando SSID | nmcli device wifi connect MyWiFi password mysecretpass |
| Conectarse a una red oculta | nmcli device wifi connect HiddenSSID password mysecretpass hidden yes |
5. Cree una nueva conexión Ethernet
| Objetivo | Orden |
|---|---|
| Agregar conexiones basadas en DHCP | nmcli connection add type ethernet con-name my-office ifname ens3 |
| Configuración de una IP estática | bash\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 modificada | nmcli connection up my-office |
6. Abreviatura rápida
| Comando completo | Forma corta |
|---|---|
nmcli connection show | nmcli con show |
nmcli connection up | nmcli con up |
nmcli device status | nmcli dev |
nmcli general status | nmcli g |
7. Comandos de solución de problemas
| Objetivo | Orden |
|---|---|
| Mostrar registros de NetworkManager | nmcli general logging |
| Reiniciar NetworkManager | sudo systemctl restart NetworkManager |
| Recargar el archivo de configuración de conexión | nmcli 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:








