Perfiles de conexión de NetworkManager

Descubra dónde almacena NetworkManager perfiles de conexión y cómo crear, editar, migrar y gestionar perfiles basados en archivos de claves en Oracle Linux.

Cada configuración de conexión de red que cree se convierte en un perfil de conexión NetworkManager en el sistema. En Oracle Linux 8, los perfiles reconocen tanto el formato de archivo de clave como el formato ifcfg para que los scripts de red de versiones anteriores de Oracle Linux sigan funcionando. Debido a que las secuencias de comandos de red están en desuso en Oracle Linux 8, utilice el formato de archivo de claves al crear manualmente perfiles de conexión. En Oracle Linux 9 y Oracle Linux 10, los perfiles solo pueden tener el formato de archivo de clave porque se han eliminado las secuencias de comandos de red y la capacidad ifcfg.

Según su finalidad, un perfil de conexión NetworkManager se puede almacenar en una de las siguientes ubicaciones:
  • /etc/NetworkManager/system-connections/: ubicación por defecto de los perfiles persistentes que crea el usuario. Los perfiles de este directorio también se pueden editar.
  • /run/NetworkManager/system-connections/: ubicación de los perfiles temporales que se eliminan automáticamente al reiniciar el sistema.
  • /usr/lib/NetworkManager/system-connections/: ubicación de los perfiles de conexión anteriores y permanentes. Si edita uno de estos perfiles mediante la API NetworkManager, el perfil se copia en el directorio persistente o temporal.

Para obtener más información sobre la configuración de perfiles de conexión NetworkManager, consulte:

Creación de un perfil de conexión de archivo de claves mediante la interfaz gráfica de usuario del editor de conexiones de red

Cree un perfil de conexión de archivo de claves de NetworkManager persistente mediante el editor gráfico de conexiones de red.

Si aún no está instalado, instale el paquete nm-connection-editor.

sudo dnf install -y nm-connection-editor
  1. Inicie el editor:
    sudo nm-connection-editor

    El editor detecta los dispositivos de red que están en el sistema y los enumera y sus estados actuales:


    En la figura, se muestra el editor de conexiones de red y una lista de los dispositivos de red que están en el sistema.
  2. Para agregar o eliminar una conexión, utilice los botones más (+) o menos (-) en la parte inferior de la ventana del editor.

    Si agrega una conexión, se abre una ventana y se le solicita el tipo de conexión. Seleccione un tipo, como Ethernet, en la lista desplegable y, a continuación, seleccione Crear. Se abre la ventana Editor de interfaz.

    Nota

    Se abre la misma ventana si edita una conexión existente.

    En la figura se muestra la ventana para editar una interfaz. La ventana contiene separadores con los valores que introduzca para configurar la interfaz.
  3. Seleccione cada ficha según sea necesario e introduzca la información necesaria sobre la interfaz.
  4. Seleccione Guardar después de completar la configuración.
    Debe especificar toda la información necesaria. De lo contrario, el editor no puede guardar la configuración y la ventana de terminal en segundo plano muestra mensajes de error.

Creación de un perfil de conexión de archivo de claves mediante nmcli

Utilice el comando nmcli para crear y activar un perfil de conexión de archivo de claves de NetworkManager.

Para ilustrar los diferentes usos del comando nmcli, este procedimiento describe un ejemplo de cómo agregar y configurar una nueva conexión Ethernet para el dispositivo enp0s2. Para obtener más información sobre el comando, consulte la página del manual nmcli(1).

Consejo

Antes de agregar la conexión, prepare la información que necesita para la configuración, como la siguiente:
  • Nombre de conexión, por ejemplo, My Work Connection. El comando nmcli funciona haciendo referencia al nombre de la conexión en lugar del nombre del dispositivo. Si no define un nombre de conexión, el nombre del dispositivo se utiliza como nombre de conexión.
  • Direcciones IP (IPv4 e, si es necesario, IPv6)
  • Direcciones del gateway
  • Otros datos relevantes que desea definir para la conexión
  1. Visualice los dispositivos de red en el sistema.
    sudo nmcli device status
    DEVICE  TYPE      STATE          CONNECTION
    enp0s1  ethernet  connected      enp0s1   
    enp0s2  ethernet  disconnected    --   
    lo      loopback  unmanaged
    

    El comando muestra si un dispositivo está conectado o desconectado y si está gestionado o no.

  2. Visualice la información de conexión sobre los dispositivos de red.
    sudo nmcli con show --active
    NAME     UUID                                TYPE      DEVICE
    enp0s1   nn-nn-nn-nn-nn  ethernet  enp0s1
    virbr0   nn-nn-nn-nn-nn  bridge    virbr0
    mybond   nn-nn-nn-nn-nn  bond      bond0

    El subcomando con es la forma abreviada de connection y se puede acortar aún más a c. Al especificar la opción --active, solo se muestran los dispositivos activos.

    Nota

    En la salida, NAME representa el ID de conexión.
  3. Agregue una nueva conexión.
    sudo nmcli con add type connection type {properties} [IP-info] [gateway-info
    tipo
    (Necesario) Especifica un tipo de conexión de NetworkManager conocido.

    Para obtener una lista de los valores de tipo permitidos, consulte la sección nmcli connection add en la página del manual nmcli(1).

    properties
    El nombre de conexión especificado por el argumento con-name y el nombre de interfaz especificado por el argumento ifname.
    Información de IP
    La dirección IPv4 o IPv6 especificada por el argumento ip4 o ip6. La dirección debe tener el formato address/netmask. La dirección IPv4 puede tener el formato CIDR, por ejemplo, 1.2.3.4/24.
    gateway-info
    Dirección IPv4 o IPv6 de puerta de enlace, según lo especificado por el argumento gw4 o gw6.

    Por ejemplo, para agregar la conexión con la información al principio de este procedimiento, ejecute el siguiente comando:

    sudo nmcli con add type ethernet ifname enp0s2 con-name "My Work Connection" ip4 192.168.5.10/24 gw4 192.168.5.2

    La salida confirma que la conexión se ha completado correctamente.

  4. Active la interfaz.
    sudo nmcli con up "My Work Connection"
  5. Visualice las propiedades de configuración de la nueva conexión.
    sudo nmcli -o con show "My Work Connection"
    connection.id:               My Work Connection
    connection.uuid:             nn-nn-nn-nn-nn
    connection.type:             802-3-ethernet
    connection.interface-name:   enp0s2
    ...
    IP4.ADDRESS[1]:              192.168.5.10
    IP4.GATEWAY:                 192.168.5.2
    ...

    Al especificar la opción -o, solo se muestran las propiedades que tienen valores configurados.

Después de crear la conexión, se crea el perfil correspondiente. Para obtener más información sobre los perfiles de conexión, consulte NetworkManager Connection Profiles.

ls -lrt /etc/NetworkManager/system-connections/
...
-rw-r--r--. 1 root root 266 Aug  6 11:03 /etc/sysconfig/network-scripts/ifcfg-My_Work_Connection

Creación de un perfil de conexión de archivo de claves mediante nmcli en modo fuera de línea

Cree un perfil de conexión de archivo de claves de NetworkManager fuera de línea sin necesidad de que se ejecute el servicio NetworkManager.

Al crear o actualizar conexiones de perfil NetworkManager, recomendamos utilizar la herramienta de CLI en modo fuera de línea (nmcli --offline). En el modo fuera de línea, nmcli funciona sin el servicio NetworkManager, que ofrece al usuario un control de edición mejorado y la capacidad de crear varios perfiles de conexión en formato keyfile. Por ejemplo, puede crear el siguiente tipo de perfiles de conexión en formato keyfile:

  • conexión Ethernet estática
  • conexión Ethernet dinámica
  • enlace de red
  • puente de red
  • VLAN o cualquier tipo de conexiones activadas

Complete los siguientes pasos para crear un perfil de conexión keyfile mediante nmcli en modo fuera de línea:

  1. Ejecute el comando nmcli --offline connection add e incluya pares de propiedad/valor para la configuración que desea incluir en el perfil de conexión.

    La propiedad type es necesaria. Para obtener una lista de los valores de tipo permitidos, consulte la sección nmcli connection add en la página del manual nmcli(1).

    Para obtener una lista exhaustiva de las propiedades y los valores disponibles, consulte la página del manual nm-settings-nmcli(5).

    En el siguiente ejemplo, se muestra la sintaxis que se debe utilizar para crear un archivo de claves para un dispositivo Ethernet con una dirección IPv4 y una dirección DNS asignadas manualmente.

    nmcli --offline connection add type ethernet con-name Example-Connection ipv4.addresses ###.#.#.#/# ipv4.dns ###.#.#.### ipv4.method manual > /etc/NetworkManager/system-connections/outputmconnection

    El comando utiliza los siguientes elementos:

    • nmcli --offline = indica a nmcli que funcione en modo fuera de línea.
    • connection add = crea un perfil de conexión.
    • type ethernet = especifica un valor de tipo de conexión (en este ejemplo: Ethernet).
    • con-name = propiedad de nombre de conexión, que guarda el valor en la variable id en el perfil de conexión generado.

      Al gestionar esta conexión más adelante mediante nmcli, tenga en cuenta los siguientes usos de la variable id:

      • Si se proporciona la variable id, utilice el nombre de conexión. Por ejemplo: Example-Connection.
      • Si se omite la variable id, utilice el nombre de archivo sin el sufijo .nmconnection, por ejemplo output.
    • Propiedades ipv4 = especificar la dirección IP y el servidor de nombres que se utilizarán en una red IPv4 sin DHCP.
    • > /etc/NetworkManager/system-connections/outputmconnection = redirige la salida de nmcli a un nuevo archivo en /etc/NetworkManager/system-connections, donde NetworkManager espera perfiles de conexión.
    Nota

    Consulte la página del manual nmcli-examples(7) para obtener más ejemplos de archivos de claves.
  2. Defina permisos para el archivo de configuración de modo que solo el usuario root pueda leerlo y actualizarlo.
    chmod 600 /etc/NetworkManager/system-connections/outputmconnection
    chown root:root /etc/NetworkManager/system-connections/outputmconnection
  3. Inicie el servicio NetworkManager.
    systemctl start NetworkManager.service
  4. Si define la variable autoconnect en el perfil en false, active la conexión.
    nmcli connection up Example-Connection
  5. Complete los siguientes pasos para verificar la configuración del perfil:
    1. Verifique que el servicio NetworkManager se esté ejecutando.
      systemctl status NetworkManager
      ● NetworkManager.service - Network Manager
         Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service enabled vendor preset: enabled)
         Active: active (running) because Wed -03 13:08:32 CEST   ago
      
    2. Verifique que NetworkManager pueda leer el perfil desde el archivo de configuración.
      nmcli -f TYPE,FILENAME,NAME connection
      TYPE      FILENAME                                                    NAME
      ethernet /etc/NetworkManager/system-connections/outputmconnection Example-Connection
      ethernet  /etc/sysconfig/network-scripts/ifcfg-enp0                 enp0
      

      Si la salida no muestra la conexión recién creada, verifique que los permisos keyfile y la sintaxis utilizada sean correctos.

    3. Ejecute nmcli connection show para mostrar el perfil de conexión.
      nmcli connection show Example-Connection
      connection.id:                          Example-Connection
      connection.uuid:                        ce8d4422-9603-4d6f-b602-4f71992c49c2
      connection.stable-id:                   --
      connection.type:                        802-3-ethernet
      connection.interface-name:              --
      connection.autoconnect:                 yes

Creación manual de un perfil de conexión de archivo de claves

Cree un perfil de conexión de archivo de claves de NetworkManager escribiendo el archivo de perfil directamente y, a continuación, volviendo a cargar las definiciones de conexión.

Puede crear manualmente un perfil de conexión NetworkManager en un formato de archivo de claves.
Nota

La creación o actualización manual de los archivos de configuración puede dar lugar a una configuración de red inesperada. Otra opción sería utilizar nmcli en modo fuera de línea. Consulte Creación de un perfil de conexión de archivo de claves mediante nmcli en modo fuera de línea.
  1. Si está creando un perfil para una interfaz de hardware, como Ethernet, visualice la dirección MAC del hardware.
    ip address show ens3
    2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 02:00:17:03:b9:ae brd ff:ff:ff:ff:ff:ff
        ...
  2. Utilice cualquier editor de texto para crear un perfil de conexión que contenga la configuración de red que desea definir para la conexión.

    Por ejemplo, si la conexión utiliza DHCP, el perfil contendría valores similares a los del siguiente ejemplo:

    [connection]
    id=myconnection
    type=ethernet
    autoconnect=true
    
    [ipv4]
    method=auto
    
    [ipv6]
    method=auto
    
    [ethernet]
    mac-address=02:00:17:03:b9:ae
  3. Guarde el perfil en /etc/NetworkManager/system-connections/filname.nmconnection.
    En este procedimiento actual, el perfil sería /etc/NetworkManager/system-connections/myconnection.nmconnection.
    Nota

    La variable de ID definida, como myconnection, no tiene que ser idéntica al nombre de archivo del perfil, por ejemplo myethernet.nmconnection. Al cambiar el perfil mediante el comando nmcli, puede identificar el perfil por el ID definido (myconnection) o por el nombre de archivo, pero excluyendo el nombre de extensión de archivo (myethernet).
  4. Restringir los permisos del perfil.
    sudo chown root:root /etc/NetworkManager/system-connections/myconnection.nmconnection
    sudo chmod 600 /etc/NetworkManager/system-connections/myconnection.nmconnection
  5. Vuelva a cargar los perfiles de conexión.
    sudo nmcli connection reload
  6. Verifique que NetworkManager pueda leer el perfil.
    sudo nmcli -f NAME,UUID,FILENAME connection
    NAME           UUID       FILENAME
    myconnection   uuid        /etc/NetworkManager/system-connections/myconnection.nmconnection
  7. Si ha especificado false para el parámetro autoconnect del perfil, active la conexión.
    sudo nmcli connection up myconnection

Creación de un perfil de conexión de archivo de claves mediante la interfaz de usuario basada en texto

Cree un perfil de conexión de archivo de claves de NetworkManager mediante la interfaz de usuario basada en texto.

Si aún no está instalado, instale el paquete NetworkManager-tui.

sudo dnf install -y NetworkManager-tui
  1. Abra la interfaz de usuario basada en texto de NetworkManager.
    sudo nmtui

    En la figura, se muestra el menú general de TUI de NetworkManager, donde puede seleccionar editar una conexión, activar la conexión o configurar el nombre de host del sistema.

    Navegue por la herramienta con las teclas de flecha hacia arriba y hacia abajo y, a continuación, pulse Intro para hacer una selección.

  2. Para agregar una conexión, seleccione Editar una conexión y, a continuación, Agregar.
  3. Seleccione un tipo de conexión.

    Se abre la ventana Editar conexión.


    La figura muestra la ventana para configurar una interfaz de red, con un menú flotante que se expande para mostrar las selecciones agregadas, según las selecciones que realice.
  4. Como opción, especifique un nombre de perfil preferido y el nombre del dispositivo.
  5. De manera predeterminada, las configuraciones IPv4 e IPv6 se establecen en Automático. Para cambiar la configuración, seleccione el campo Automatic (Automático) y pulse Intro (Intro). En la lista desplegable, seleccione el tipo de configuración de IP que desea implementar, como Manual. A continuación, seleccione el campo Mostrar correspondiente.

    Los campos que se muestran dependen del tipo de configuración de IP que se seleccione. Por ejemplo, para configurar manualmente una dirección IP, al seleccionar Mostrar se muestra un campo de dirección, donde debe introducir una dirección IP para la interfaz, como se muestra en la siguiente figura.


    En la figura se muestra la ventana para editar una conexión.
  6. Navegue por todos los campos de la pantalla para asegurarse de que se especifica la información necesaria.
  7. Después de editar la conexión, seleccione Aceptar.

Cambio de nombre de diferencias de proceso entre formatos de perfil de conexión solo para Oracle Linux 8

Descubra cómo el cambio de nombre de la interfaz difiere entre los perfiles de conexión ifcfg y keyfile en Oracle Linux 8.

Cuando necesita asignar un nombre personalizado a una interfaz, el proceso de cambio de nombre del servicio udev funciona de forma diferente según el formato del perfil de conexión.

  • El cambio de nombre de la interfaz de formato ifcfg implica los siguientes pasos:
    1. La regla /usr/lib/udev/rules.d/60-net.rules udev llama a la utilidad de ayuda /lib/udev/rename_device.
    2. La utilidad helper busca el parámetro HWADDR en los archivos /etc/sysconfig/network-scripts/ifcfg-*.
    3. Si el valor definido en la variable coincide con la dirección MAC de una interfaz, la utilidad auxiliar cambia el nombre de la interfaz al definido en el parámetro DEVICE del archivo.
  • El cambio de nombre de la interfaz de formato keyfile implica los siguientes pasos:
    1. Para cambiar el nombre de una interfaz, cree un archivo de enlace systemd o una regla udev.

      Consulte Managing the System With systemd y Managing System Devices With the udev Device Manager para obtener más información.

    2. En el perfil de conexión NetworkManager, especifique el nombre personalizado en la propiedad interface-name.

Conversión de formatos de perfil de conexión de ifcfg a archivo de claves solo para Oracle Linux 8

Utilice nmcli para migrar los perfiles de conexión ifcfg heredados al formato keyfile preferido en Oracle Linux 8.

Utilice nmcli para convertir los perfiles de conexión NetworkManager ifcfg heredados al formato NetworkManager keyfile preferido.

Para obtener más información sobre el formato de perfil keyfile, consulte la página del manual nm-settings-keyfile(5).

  1. Asegúrese de que los siguientes requisitos previos se cumplan.
    • Los perfiles de conexión existentes en formato ifcfg se almacenan en el directorio /etc/sysconfig/network-scripts/.
    • Si los perfiles de conexión contienen una variable DEVICE que se define en un nombre de dispositivo personalizado, como provider o lan, cree un archivo de enlace systemd o una regla udev para cada nombre de dispositivo personalizado.
  2. Ejecute el siguiente comando.
    nmcli connection migrate
  3. Verifique que todos los perfiles de conexión ifcfg heredados se hayan migrado correctamente.
    nmcli -f TYPE,FILENAME,NAME connection