Red Hat Training

A Red Hat training course is available for RHEL 8

13.5. Configuración de un enlace de red mediante comandos nmcli

Esta sección describe cómo configurar un enlace de red utilizando los comandos de nmcli.

Requisitos previos

Procedimiento

  1. Crear una interfaz de enlace:

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"

    Este comando crea un enlace llamado bond0 que utiliza el modo active-backup.

    Para establecer adicionalmente un intervalo de monitorización de la interfaz independiente del medio (MII), añada la opción miimon=interval a la propiedad bond.options. Por ejemplo, para utilizar el mismo comando pero, adicionalmente, establecer el intervalo de monitoreo de MII a 1000 milisegundos (1 segundo), ingrese:

    # nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup,miimon=1000"
  2. Visualice las interfaces de red y anote los nombres de las interfaces que piensa añadir al enlace:

    # nmcli device status
    DEVICE   TYPE      STATE         CONNECTION
    enp7s0   ethernet  disconnected  --
    enp8s0   ethernet  disconnected  --
    bridge0  bridge    connected     bridge0
    bridge1  bridge    connected     bridge1
    ...

    En este ejemplo:

    • enp7s0 y enp8s0 no están configurados. Para utilizar estos dispositivos como puertos, añada perfiles de conexión en el siguiente paso.
    • bridge0 y bridge1 tienen perfiles de conexión existentes. Para utilizar estos dispositivos como puertos, modifique sus perfiles en el siguiente paso.
  3. Asignar interfaces al enlace:

    1. Si las interfaces que desea asignar al enlace no están configuradas, cree nuevos perfiles de conexión para ellas:

      # nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname enp7s0 master bond0
      # nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname enp8s0 master bond0

      Estos comandos crean perfiles para enp7s0 y enp8s0, y los añaden a la conexión bond0.

    2. Para asignar un perfil de conexión existente al enlace, establezca el parámetro master de estas conexiones en bond0:

      # nmcli connection modify bridge0 master bond0
      # nmcli connection modify bridge1 master bond0

      Estos comandos asignan los perfiles de conexión existentes denominados bridge0 y bridge1 a la conexión bond0.

  4. Configure los ajustes IP del enlace. Omita este paso si desea utilizar este enlace como puerto de otros dispositivos.

    1. Configure los ajustes de IPv4. Por ejemplo, para establecer una dirección IPv4 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS para la conexión bond0, introduzca:

      # nmcli connection modify bond0 ipv4.addresses '192.0.2.1/24'
      # nmcli connection modify bond0 ipv4.gateway '192.0.2.254'
      # nmcli connection modify bond0 ipv4.dns '192.0.2.253'
      # nmcli connection modify bond0 ipv4.dns-search 'example.com'
      # nmcli connection modify bond0 ipv4.method manual
    2. Configure los ajustes de IPv6. Por ejemplo, para establecer una dirección IPv6 estática, una máscara de red, una puerta de enlace predeterminada, un servidor DNS y un dominio de búsqueda DNS para la conexión bond0, introduzca:

      # nmcli connection modify bond0 ipv6.addresses '2001:db8:1::1/64
      # nmcli connection modify bond0 ipv6.gateway '2001:db8:1::fffe'
      # nmcli connection modify bond0 ipv6.dns '2001:db8:1::fffd'
      # nmcli connection modify bond0 ipv6.dns-search 'example.com'
      # nmcli connection modify bond0 ipv6.method manual
  5. Activa la conexión:

    # nmcli connection up bond0
  6. Compruebe que los puertos están conectados y que la columna CONNECTION muestra el nombre de la conexión del puerto:

    # nmcli device
    DEVICE   TYPE      STATE      CONNECTION
    ...
    enp7s0   ethernet  connected  bond0-port1
    enp8s0   ethernet  connected  bond0-port2

    Red Hat Enterprise Linux activa el controlador y los dispositivos de puerto cuando el sistema arranca. Al activar cualquier conexión de puerto, el controlador también se activa. Sin embargo, en este caso, sólo se activa una conexión de puerto. Por defecto, la activación del controlador no activa automáticamente los puertos. Sin embargo, puede habilitar este comportamiento configurando:

    1. Habilitar el parámetro connection.autoconnect-slaves de la conexión del enlace:

      # nmcli connection modify bond0 connection.autoconnect-slaves 1
    2. Reactivar el puente:

      # nmcli connection up bond0

Pasos de verificación

  1. Muestra el estado del bono:

    # cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: enp7s0
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: enp7s0
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 52:54:00:d5:e0:fb
    Slave queue ID: 0
    
    Slave Interface: enp8s0
    MII Status: up
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 0
    Permanent HW addr: 52:54:00:b2:e2:63
    Slave queue ID: 0

    En este ejemplo, los dos puertos están en funcionamiento.

  2. Para verificar que la conmutación por error de enlace funciona:

    1. Retire temporalmente el cable de red del host. Tenga en cuenta que no hay ningún método para probar adecuadamente los eventos de fallo de enlace utilizando la línea de comandos.
    2. Muestra el estado del bono:

      # cat /proc/net/bonding/bond0

Recursos adicionales