====== nmcli ====== **nmcli** es una potente utilidad de línea de comandos para Linux que permite controlar el demonio [[networkmanager|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 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 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 ==== Desactivar una conexión ==== nmcli connection down ===== Editar conexiones ===== ==== Configurar una IP estática ==== nmcli connection modify ipv4.method manual nmcli connection modify ipv4.address 192.168.0.100/24 nmcli connection modify ipv4.gateway 192.168.0.1 nmcli connection modify ipv4.dns 8.8.8.8 Para que se apliquen las modificaciones, tenemos que reiniciar la conexión: nmcli connection down nmcli connection up ==== Eliminar una conexión ==== nmcli connection delete ==== Cambiar nombre ==== nmcli connection modify connection.id ==== Configurar servidor DNS ==== nmcli connection modify 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 nmcli connection up 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 ipv4.ignore-auto-dns yes ==== Crear conexión WireGuard ==== A partir de un fichero de configuración de [[wireguard|WireGuard]]: nmcli connection import type wireguard file fichero-wireguard.conf Si no queremos que esa red VPN se conecte automáticamente: nmcli connection modify connection.autoconnect no