¡Esta es una revisión vieja del documento!
Tabla de Contenidos
nmcli
nmcli es una potente utilidad de línea de comandos para Linux que permite controlar el demonio NetworkManager. Es ideal para servidores sin interfaz gráfica o para scripts automatizados, ya que permite crear, ver, editar, activar, desactivar y eliminar conexiones de red de forma rápida y eficiente.
nmcli admite el completado con tabulación, lo que facilita la introducción de comandos y nombres de conexión.
Dispositivos de red
Para mostrar los dispositivos de red:
nmcli device status
Nos indicará cuál está conectado.
Detalles
nmcli device show <NOMBRE_DISPOSITIVO>
Ejemplo de salida:
GENERAL.DEVICE: wlp2s0 GENERAL.TYPE: wifi GENERAL.HWADDR: E1:E2:58:7B:DF:8A GENERAL.MTU: 1500 GENERAL.STATE: 100 (conectado) GENERAL.CONNECTION: Penny_5G GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/9 IP4.ADDRESS[1]: 192.168.0.8/24 IP4.GATEWAY: 192.168.0.1 IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 600 IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 600 IP4.DNS[1]: 192.168.0.110 IP6.ADDRESS[1]: fe81::cac5:6dfb:62fe:5746/64 IP6.GATEWAY: -- IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 1024 IP6.DNS[1]: fe80::1
Conexiones de red
Mostrar conexiones de red
nmcli connection show
El comando anterior mostrará una tabla con el nombre de la conexión, UUID, tipo y dispositivo.
Mostrar detalles de una conexión
nmcli connection show <NOMBRE_CONEXION>
Veremos una salida similar:
connection.id: Penny_5G connection.uuid: a818bb49-5277-4130-b9a9-3f0b290984fd connection.stable-id: -- connection.type: 802-11-wireless connection.interface-name: wlp2s0 connection.autoconnect: sí connection.autoconnect-priority: 0 connection.autoconnect-retries: -1 (default) connection.multi-connect: 0 (default) connection.auth-retries: -1 connection.timestamp: 1783180598 (...) 802-11-wireless.ssid: Penny_5G 802-11-wireless.mode: infrastructure 802-11-wireless.band: -- 802-11-wireless.seen-bssids: 12:6B:9A:3B:68:15,5B:6B:9A:3B:68:17 (...) ipv4.dns: 192.168.0.110 ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 0 ipv4.addresses: 192.168.0.8/24 ipv4.gateway: 192.168.0.1 (...)
Activar una conexión
nmcli connection up <NOMBRE_CONEXION>
Desactivar una conexión
nmcli connection down <NOMBRE_CONEXION>
Editar conexiones
Configurar una IP estática
nmcli connection modify <NOMBRE_CONEXION> ipv4.method manual nmcli connection modify <NOMBRE_CONEXION> ipv4.address 192.168.0.100/24 nmcli connection modify <NOMBRE_CONEXION> ipv4.gateway 192.168.0.1 nmcli connection modify <NOMBRE_CONEXION> ipv4.dns 8.8.8.8
Para que se apliquen las modificaciones, tenemos que reiniciar la conexión:
nmcli connection down <NOMBRE_CONEXION> nmcli connection up <NOMBRE_CONEXION>
Eliminar una conexión
nmcli connection delete <NOMBRE_CONEXION>
Cambiar nombre
nmcli connection modify <NOMBRE_ACTUAL> connection.id <NOMBRE_NUEVO>
Configurar servidor DNS
nmcli connection modify <NOMBRE_CONEXION> ipv4.dns "1.1.1.1,94.140.14.14"
Para que se apliquen las modificaciones, tenemos que reiniciar la conexión:
nmcli connection down <NOMBRE_CONEXION> nmcli connection up <NOMBRE_CONEXION>
Si queremos que no se haga caso de la configuración DNS que venga por DHCP (cuando configuramos un router para que entregue la configuración de red por DHCP, por ejemplo):
nmcli connection modify <NOMBRE_CONEXION> ipv4.ignore-auto-dns yes
Crear conexión WireGuard
A partir de un fichero de configuración de WireGuard:
nmcli connection import type wireguard file fichero-wireguard.conf
Si no queremos que esa red VPN se conecte automáticamente:
nmcli connection modify <NOMBRE_CONEXION> connection.autoconnect no
