Configurar la red IP con nmcli

Richard Gregory, Peter Boy (pboy) Version F36 onwards Last review: 2023-08-28
Cómo configurar la red usando la utilidad de línea de comando nmcli (Interfaz de Línea de Comando NetworkManager).

Comienzo con nmcli

La utilidad de línea de comando nmcli (Interfaz de Línea de Comandos de NetworkManager) se utiliza para controlar NetworkManager e informar sobre el estado de la red. Puede utilizarse como sustituto de nm-applet u otros clientes gráficos. nmcli se utiliza para crear, exhibir, editar, eliminar, activar y desactivar conexiones de red, así como para controlar y visualizar el estado de los dispositivos de red.

La utilidad nmcli puede ser utilizada por usuarios y en scripts para controlar NetworkManager:

  • Para servidores, máquinas sin encabezados, y terminales, nmcli puede ser utilizado para control de NetworkManager directamente, sin IGU, incluyendo crear, editar, iniciar y detener conexiones de red y vistas de estado de red.

  • Para scripts, nmcli admite un formato de salida conciso que es más adecuado para el procesamiento de script. Es una manera de integrar la configuración de red en lugar de administrar las conexiones de red manualmente.

El formato básico de un comando nmcli es como sigue:

$ nmcli [OPCIONES] OBJETO { COMANDO | help }

donde OBJECT puede ser una de las siguientes opciones: general, networking, radio, connection, device, agent y monitor. Puedes usar cualquier prefijo de estas opciones en sus comandos. Por ejemplo, nmcli con help, nmcli c help, nmcli connection help genera la misma salida.

Algunas OPTIONS opcionales útiles para iniciar son:

-t, terse

Este modo puede ser utilizado para guiones de computador procesando como puede consultar una salida concisa que exhibe solo los valores.

Example 1. Ver una salida breve
$ nmcli -t dispositivo
ens3:ethernet:connected:Profile 1
lo:loopback:unmanaged:
-f, campo

Esta opción especifica qué campos se pueden exhibir en la salida. Por ejemplo, NAME,UUID,TYPE,AUTOCONNECT,ACTIVE,DEVICE,STATE. Puede usar uno o más campos. Si desea usar más, no separe los campos con espacio después de la coma.

Example 2. Especificar Campos en la salida
$ nmcli -f DISPOSITIVO,TIPO dispositivo
DISPOSITIVO  TIPO
ens3    ethernet
lo      loopback

o incluso mejor para la creación de scripts:

$ nmcli -t -f DISPOSITIVO,TIPO dispositivo
ens3:ethernet
lo:loopback
-p, pretty

Esta opción hace que nmcli genere una salida legible. Por ejemplo, se alinean los valores y se imprimen los encabezados.

Example 3. Visualizar una salida en modo pretty
$ nmcli -p device
=====================
  Estado de dispositivos
=====================
DISPOS  TIPO      ESTADO      CONEXIÓN
--------------------------------------------------------------
ens3    ethernet  conectado  Perfil 1
lo      loopback  desenmascarado  --
-h, help

Muestra información de ayuda.

La herramienta nmcli tiene alguna ayuda incorporada distinguiendo contextos. Para enumerar las opciones disponibles y los nombres de objeto:

$ nmcli help

Para listar acciones disponibles relacionadas para un objeto especificado:

$ nmcli _objeto_ help

Por ejemplo,

$ nmcli c help

Recursos adicionales

Resumen de Selección para Ejemplos de nmcli

Esta sección proporciona una breve selección de ejemplos de nmcli.

Pre-requisitos

Comprobando el estado general de NetworkManager ====
$ nmcli general status
ESTADO      CONECTIVIDAD  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled

En modo conciso:

$ nmcli -t -f STATE general connected
$ nmcli general logging
  LEVEL  DOMAINS
  INFO   PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A
UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,
WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC
B,DISPATCH
$ nmcli connection show
  NOMBRE    UUID                                                                           TIPO    DISPOSITIVO
Perfil 1  db1060e9-c164-476f-b2b5-caec62dc1b05  ethernet        ens3
ens3       aaf6eb56-73e5-4746-9037-eed42caa8a65  ethernet          --
$ nmcli connection show --active
  NOMBRE                                   UUID                                           TIPO      DISPOSITIVO
Profile 1  db1060e9-c164-476f-b2b5-caec62dc1b05  ethernet     ens3
$ nmcli device status
DISPOSITIVO  TIPO      ESTADO      CONEXIÓN
ens3    ethernet  connected  Perfil 1
lo      loopback  unmanaged  --

También puede utilizar las siguientes abreviaturas de los comandos nmcli:

[[table-nmcli_examples] .Abreviaciones de algunos comandos nmcli

[options="header"]

nmcli command

abbreviation

nmcli general status

nmcli g

nmcli general logging

nmcli g log

nmcli connection show

nmcli con show

nmcli connection show --active

nmcli con show -a

nmcli device status

nmcli dev

Recursos adicionales

  • Para más ejemplos, consulte la página del manual *nmcli-examples*(5).

== Las opciones nmcli

Las siguientes son algunas de las opciones importantes de propiedad de nmcli:

connection.type

Un tipo de conexión. Los valores permitidos son: adsl, bond, bond-slave, bridge, bridge-slave, bluetooth, cdma, ethernet, gsm, infiniband, olpc-mesh, team, team-slave, vlan, wifi, wimax. Cada tipo de conexión tiene opciones de instrucción específicas del tipo. Por ejemplo:

  • Una conexión gsm reqiere el nombre del punto de acceso especificado en un apn.

    $ nmcli c add connection.type gsm apn pass:quotes[_access_point_name_]
  • Un dispositivo wifi requiere el identificador del conjunto de servicios especificado en un ssid.

    $ nmcli c add connection.type wifi ssid _Mi identificador_

Puede ver el listado de TYPE_SPECIFIC_OPTIONS en la página de man *nmcli*(1)

connection.interface-name

Un nombre de dispositivo relevante para la conexión.

$ nmcli con add connection.interface-name _eth0_ type _ethernet_
connection.id

Un nombre utilizado para el perfil de conexión. Si no especifica un nombre de conexión, uno será generado como sigue:

_conexión.tipo -conexión.interfaz-nombre_

La connection.id es el nombre de un perfil de conexión y no debe confundirse con el nombre de la interfaz que denota un dispositivo (wlan0, ens3, em1). Sin embargo, los usuarios pueden asignar nombres de interfaces a las conexiones, pero no son lo mismo. Puede haber varios perfiles de conexión disponibles para un dispositivo. Esto es especialmente útil para dispositivos móviles o al intercambiar un cable de red entre diferentes dispositivos. En lugar de editar la configuración, cree diferentes perfiles y aplíquelos a la interfaz según sea necesario. La opción id también se refiere al nombre del perfil de conexión.

Las opciones más importantes para los comandos nmcli, como show, up, down, son:

id

Una cadena de identificación asignada por el usuario a un perfil de conexión. El ID se puede usar en los comandos de conexión de nmcli para identificar una conexión. El campo NOMBRE en la salida del comando siempre indica el ID de conexión. Se refiere al mismo nombre de perfil de conexión que el nombre de conexión (con-name).

uuid

Una cadena de identificación única asignada por el sistema a un perfil de conexión. El uuid se puede usar en los comandos nmcli connection para identificar una conexión.

Recursos adicionales

  • Consulte el listado completo en la página de man *nmcli*(1).