Ir al contenidoIr a la navegación de la página: página anterior [tecla de acceso p]/página siguiente [tecla de acceso n]
documentation.suse.com / Configuración de la red mediante NetworkManager

Configuración de la red mediante NetworkManager

Fecha de publicación: 12 Dic 2024
DESCRIPCIÓN

El artículo trata sobre los conceptos básicos de NetworkManager y el uso de la herramienta de interfaz de línea de comandos para configurar la red.

INTENCIÓN

Está utilizando NetworkManager y desea configurar la red.

ESFUERZO

Se tardan unos 15 minutos en leer este artículo.

OBJETIVO

Comprender mejor cómo funciona NetworkManager y cómo se pueden configurar las conexiones de red.

1 Acerca de NetworkManager

NetworkManager es un programa que gestiona la conexión de red primaria y otras interfaces de conexión. Se ha diseñado para ser totalmente automático por defecto. NetworkManager se gestiona con systemd y se incluye con todos los archivos de unidad de servicio necesarios.

NetworkManager almacena todas las configuraciones de red como una conexión, que es una colección de datos que describe cómo crear una red y cómo conectarse a ella. Estas conexiones se almacenan como archivos en el directorio /etc/NetworkManager/system-connections/.

Una conexión está activa cuando un dispositivo concreto la utiliza. El dispositivo puede tener más de una conexión configurada, pero solo una puede estar activa a la vez. Las demás conexiones se pueden utilizar para cambiar rápidamente de una conexión a otra. Por ejemplo, si la conexión activa no está disponible, NetworkManager intenta conectar el dispositivo a otra conexión configurada.

Para gestionar las conexiones, utilice el comando nmcli, descrito en la Sección 4, “Gestión de la red mediante NetworkManager”.

2 El archivo de configuración NetworkManager.conf

El archivo de configuración principal de NetworkManager es /etc/NetworkManager/NetworkManager.conf, que se puede utilizar para configurar el comportamiento de NetworkManager.

El archivo consta de secciones de pares clave-valor. Cada par clave-valor debe pertenecer a una sección. Una sección comienza con un nombre entre corchetes []. Las líneas que comienzan con # se consideran comentarios. La configuración mínima debe incluir la sección [main] con el valor plugins:

[main]
plugins=keyfile

El complemento keyfile admite todos los tipos de conexiones y capacidades de NetworkManager.

El archivo de configuración por defecto contiene la sección connectivity que especifica el URI para comprobar la conexión de red.

En SUSE Linux Micro también puede utilizar otras secciones. Para obtener información detallada, consulte networkmanager.conf(5) o Gnome's developer guide.

3 Inicio y detención de NetworkManager

Dado que NetworkManager es un servicio de systemd, puede utilizar comandos de systemd comunes para iniciar, detener o reiniciar NetworkManager.

Para iniciar NetworkManager:

# systemctl start network

Para reiniciar NetworkManager:

# systemctl restart network

Para detener NetworkManager:

# systemctl stop network

4 Gestión de la red mediante NetworkManager

4.1 El comando nmcli

NetworkManager proporciona una interfaz de línea de comandos para gestionar las conexiones. Con la interfaz nmcli, puede conectarse a una red concreta, editar una conexión, editar un dispositivo, etc. La sintaxis genérica de nmcli es la siguiente:

# nmcliOPTIONSSUBCOMMANDSUBCOMMAND_ARGUMENTS

Donde OPTIONS se describe en la Sección 4.1.1, “Opciones del comando nmcli y SUBCOMMAND puede ser uno de los siguientes valores:

connection

permite configurar la conexión de red. Para obtener información detallada, consulte la Sección 4.1.2, “El subcomando connection.

device

Para obtener información detallada, consulte la Sección 4.1.3, “El subcomando device.

general

muestra el estado y los permisos. Para obtener información detallada, consulte la Sección 4.1.4, “El subcomando general.

monitor

monitoriza la actividad de NetworkManager y observa los cambios en el estado de conectividad y los dispositivos. Este subcomando no acepta argumentos.

networking

consulta el estado de la red. Para obtener información detallada, consulte la Sección 4.1.5, “El subcomando networking.

4.1.1 Opciones del comando nmcli

Además de los subcomandos y sus argumentos, el comando nmcli puede incluir las siguientes opciones:

-a|--ask

La ejecución del comando se detiene para solicitar los argumentos que faltan, por ejemplo, una contraseña para conectarse a una red.

-c|--color {yes|no|auto}

Controla la salida de color: yes para habilitar los colores, no para inhabilitarlos, y auto crea una salida de color solo cuando la salida estándar se dirige a un terminal.

-m|--mode {tabular|multiline}

Cambia entre tabular (cada línea describe una sola entrada, las columnas definen propiedades particulares de la entrada) y multiline (cada entrada incluye más líneas, cada propiedad está en su propia línea). El valor por defecto es tabular.

-h|--help

Muestra la ayuda.

-w|--wait seconds

Establece un período de tiempo límite para esperar a que NetworkManager finalice las operaciones. Se recomienda utilizar esta opción para los comandos que pueden tardar más en completarse, por ejemplo, la activación de la conexión.

4.1.2 El subcomando connection

El comando connection permite gestionar conexiones o ver cualquier información sobre conexiones concretas. nmcli connection proporciona los siguientes comandos para gestionar las conexiones de red:

show

Para mostrar las conexiones:

# nmcli connection show

También puede utilizar este comando para mostrar detalles acerca de una conexión específica:

# nmcli connection showCONNECTION_ID

donde CONNECTION_ID es cualquiera de los identificadores: un nombre de conexión, un UUID o una vía

up

Para activar la conexión proporcionada. Utilice el comando para volver a cargar una conexión. Ejecute también este comando después de realizar cualquier cambio en la conexión.

# nmcli connection up [--active] [CONNECTION_ID]

Cuando se especifica --active, solo se muestran los perfiles activos. El valor por defecto es mostrar tanto las conexiones activas como la configuración estática.

down

Para desactivar una conexión.

# nmcli connection downCONNECTION_ID

donde: CONNECTION_ID es cualquiera de los identificadores: un nombre de conexión, un UUID o una vía

Si desactiva la conexión, no se volverá a conectar más tarde aunque tenga el indicador autoconnect.

modify

Para cambiar o suprimir una propiedad de una conexión.

# nmcli connection modifyCONNECTION_IDSETTING.PROPERTYPROPERTY_VALUE

Donde:

  • CONNECTION_ID es cualquiera de los identificadores: un nombre de conexión, un UUID o una vía

  • SETTING.PROPERTY es el nombre de la propiedad, por ejemplo, ipv4.addresses

  • PROPERTY_VALUE es el valor deseado de SETTING.PROPERTY

El siguiente ejemplo desactiva la opción autoconnect en la conexión ethernet1:

# nmcli connection modify ethernet1 connection.autoconnect no
add

Para añadir una conexión con los detalles proporcionados. La sintaxis del comando es similar a la del comando modify:

# nmcli connection addCONNECTION_IDsave YES|NOSETTING.PROPERTYPROPERTY_VALUE

Debe especificar al menos un valor de connection.type o usar type. En el siguiente ejemplo se añade una conexión Ethernet asociada a la interfaz eth0 con DHCP y se inhabilita el indicador autoconnect de la conexión:

# nmcli connection add type ethernet autoconnect no ifname eth0
edit

Para editar una conexión existente mediante un editor interactivo.

# nmcli connection editCONNECTION_ID
clone

Para clonar una conexión existente. La sintaxis mínima es:

# nmcli connection cloneCONNECTION_IDNEW_NAME

donde CONNECTION_ID es la conexión que se va a clonar.

delete

Para suprimir una conexión existente:

# nmcli connection deleteCONNECTION_ID
monitor

Para monitorizar la conexión proporcionada. Cada vez que cambia la conexión, NetworkManager imprime una línea.

# nmcli connection monitorCONNECTION_ID
reload

Para volver a cargar todos los archivos de conexión desde el disco. Dado que NetworkManager no monitoriza los cambios realizados en los archivos de conexión, debe utilizar este comando siempre que realice cambios en los archivos. Este comando no acepta más subcomandos.

load

Para cargar/volver a cargar un archivo de conexión concreto, ejecute:

# nmcli connection loadCONNECTION_FILE

Para obtener más información acerca de los comandos mencionados anteriormente, consulte la nmcli documentation.

4.1.3 El subcomando device

El subcomando device permite mostrar y gestionar interfaces de red. El comando nmcli device reconoce los siguientes comandos:

status

Para imprimir el estado de todos los dispositivos.

# nmcli device status
show

Muestra información detallada acerca de un dispositivo. Si no se especifica ningún dispositivo, se mostrarán todos los dispositivos.

# mcli device show [DEVICE_NAME]
connect

Para conectar un dispositivo. NetworkManager intenta encontrar una conexión adecuada que se activará. Si no hay ninguna conexión compatible, se crea un perfil nuevo.

# nmcli device connectDEVICE_NAME
modify

Realiza cambios temporales en la configuración que está activa en el dispositivo concreto. Los cambios no se almacenan en el perfil de conexión.

# nmcli device modifyDEVICE_NAME [+|-] SETTING.PROPERTY VALUE

Para conocer los valores posibles de SETTING.PROPERTY, consulte nm-settings-nmcli(5).

El siguiente ejemplo inicia la compartición de la conexión compartida IPv4 en el dispositivo con1.

# nmcli dev modify con1 ipv4.method shared
disconnect

Desconecta un dispositivo e impide que el dispositivo active automáticamente más conexiones sin intervención manual.

# nmcli device disconnectDEVICE_NAME
delete

Para suprimir la interfaz del sistema. Puede utilizar el comando para suprimir solo dispositivos de software como enlaces y puentes. No es posible suprimir dispositivos de hardware con este comando.

# nmcli deviceDEVICE_NAME
wifi

Muestra todos los puntos de acceso disponibles.

# nmcli device wifi
wifi connect

Se conecta a una red Wi-Fi especificada por su SSID o BSSID. El comando acepta las siguientes opciones:

  • password: la contraseña para redes seguras

  • ifname: la interfaz utilizada para la activación

  • name: puede asignar un nombre a la conexión

# nmcli device wifi connectSSID [password PASSWORD_VALUE] [ifname INTERFACE_NAME]

Para conectarse a una red Wi-Fi GUESTWiFi con la contraseña pass$word2#@@, ejecute:

# nmcli device wifi connectGUESTWiFi password pass$word2#@@

4.1.4 El subcomando general

Puede utilizar este comando para ver el estado y los permisos de NetworkManager, así como para cambiar el nombre de host y el nivel de registro. nmcli general reconoce los siguientes comandos:

status

Muestra el estado general de NetworkManager. Siempre que no se especifique un comando para el comando nmcli general, se utilizará el estado por defecto.

# nmcli general status
hostname

Si no proporciona un nombre de host nuevo como argumento, se mostrará el nombre de host actual. Si especifica un nombre de host nuevo, el valor se utiliza para definir un nombre de host nuevo.

# nmcli general hostname [HOSTNAME]

Por ejemplo, para definir MyHostname, ejecute:

# nmcli general hostname MyHostname
permissions

Muestra su permiso para operaciones de NetworkManager como habilitar o inhabilitar la red, modificar conexiones, etc.

# nmcli general permissions
logging

Muestra y cambia los niveles de registro y los dominios de NetworkManager. Sin ningún argumento, el comando muestra los niveles y dominios de registro actuales.

# nmcli general logging [levelLEVEL domains DOMAIN]

LEVEL es cualquiera de los valores: OFF, ERR, WARN, INFO, DEBUG o TRACE.

DOMAIN es una lista de valores que pueden ser los siguientes: PLATFORM, RFKILL, ETHER, WIFI, BT, MB, DHCP4, DHCP6, PPP, WIFI_SCAN, IP4, IP6, AUTOIP4, DNS, VPN, SHARING, SUPPLICANT, AGENTS, SETTINGS, SUSPEND, CORE, DEVICE, OLPC, WIMAX, INFINIBAND, FIREWALL, ADSL, BOND, VLAN, BRIDGE, DBUS_PROPS, TEAM, CONCHECK, DCB, DISPATCH, AUDIT, SYSTEMD, VPN_PLUGIN, PROXY.

4.1.5 El subcomando networking

El subcomando permite consultar el estado de la red. Además, mediante este comando, puede habilitar o inhabilitar la conectividad. El comando nmcli networking acepta los siguientes comandos:

on/off

Habilita o inhabilita la conectividad. El comando off desactiva todas las interfaces gestionadas por NetworkManager.

# nmcli networking on
connectivity

Muestra el estado de conectividad de la red. Si se utiliza check, NetworkManager realiza una nueva comprobación del estado. De lo contrario, se muestra el último estado detectado.

# nmcli networking connectivity

Los estados posibles son los siguientes:

  • none: el host no está conectado a ninguna red.

  • portal: el host está detrás de un portal cautivo y no puede acceder a Internet.

  • limited: el host está conectado a una red, pero no tiene acceso a Internet.

  • full: el host está conectado a una red y tiene acceso completo a Internet.

  • unknown: NetworkManager no ha podido determinar el estado de la red.