GNU/Linux >> Tutoriales Linux >  >> Cent OS

CentOS/RHEL 7:Cómo configurar Network Bonding o NIC teaming

La vinculación de la interfaz de red recibe muchos nombres:Port Trunking, Channel Bonding, Link Aggregation, NIC Teaming y otros. Combina o agrega múltiples conexiones de red en una interfaz de vinculación de un solo canal. Esto permite que dos o más interfaces de red actúen como una sola, para aumentar el rendimiento y proporcionar redundancia o conmutación por error.

El kernel de Linux viene con el controlador de vinculación para agregar múltiples interfaces de red físicas en una sola interfaz lógica (por ejemplo, agregar eth0 y eth1 en bond0). Para cada interfaz enlazada, puede definir el modo y las opciones de monitoreo de enlace. Hay siete opciones de modo diferentes, cada una de las cuales proporciona equilibrio de carga específico y características de tolerancia a fallas, como se muestra en la siguiente tabla.

Modos de vinculación

Según sus requisitos, puede configurar el modo de vinculación en cualquiera de los 7 modos siguientes.

Modo Política Cómo funciona Tolerancia a fallos Equilibrio de carga
0 Round Robin los paquetes se transmiten/reciben secuencialmente a través de cada interfaz uno por uno. No
1 Copia de seguridad activa una NIC activa mientras otra NIC está inactiva. Si la NIC activa deja de funcionar, se activa otra NIC. solo se admite en entornos x86. No
2 XOR [OR exclusivo] En este modo, la dirección MAC de la NIC esclava se compara con la MAC de la solicitud entrante y, una vez que se establece esta conexión, se utiliza la misma NIC para transmitir/recibir para la MAC de destino.
3 Transmitir Todas las transmisiones se envían a todos los esclavos No
4 Agregación de enlaces dinámicos Las NIC agregadas actúan como una NIC, lo que da como resultado un mayor rendimiento, pero también proporciona conmutación por error en caso de que falle una NIC. La agregación de enlaces dinámicos requiere un conmutador compatible con IEEE 802.3ad.
5 Equilibrio de carga de transmisión (TLB) El tráfico saliente se distribuye según la carga actual en cada interfaz esclava. El esclavo actual recibe el tráfico entrante. Si el esclavo receptor falla, otro esclavo asume la dirección MAC del esclavo fallido.
6 Equilibrio de carga adaptativo (ALB) A diferencia de la Agregación de enlaces dinámicos, el Equilibrio de carga adaptativo no requiere ninguna configuración de conmutador en particular. El Equilibrio de carga adaptable solo se admite en entornos x86. La carga de los paquetes recibidos se equilibra a través de la negociación ARP.

Supervisión de enlace de enlace de red

El controlador de vinculación admite dos métodos para monitorear el estado del enlace de un esclavo:

  • Monitor MII (interfaz independiente de medios)
    • Esta es la opción predeterminada y recomendada de supervisión de enlaces.
    • Supervisa el estado del operador de la interfaz de red local.
    • Puede especificar la frecuencia de monitoreo y el retraso.
    • Los tiempos de retraso le permiten tener en cuenta la inicialización del interruptor.
  • Monitor ARP
    • Esto envía consultas ARP a los sistemas pares en la red y usa la respuesta como una indicación de que el enlace está activo.
    • Puede especificar la frecuencia de seguimiento y las direcciones de destino.

    Conexión de red:configuración

    Creación de un archivo de interfaz de vinculación

    Puede crear manualmente un archivo de interfaz de vinculación en /etc/sysconfig/network-scripts directorio. Primero crea la interfaz de enlace y luego agrega las interfaces de red física al enlace. Estas interfaces de red física se denominan "esclavos “.

    Para el ejemplo de esta publicación, los esclavos para la interfaz bond0 son ens33 y ens37. Antes de comenzar, asegúrese de que el módulo de unión esté cargado correctamente. Para verificar eso, use el comando que se muestra a continuación:

    # lsmod |grep bonding
    bonding               122351  0

    Si el módulo no está cargado, cárguelo usando el comando modprobe.

    # modprobe bonding

    1. El siguiente es un ejemplo de un archivo de interfaz de vinculación:

    # cat /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BONDING_OPTS="miimon=1 updelay=0 downdelay=0 mode=active-backup" TYPE=Bond
    BONDING_MASTER=yes
    BOOTPROTO=none
    IPADDR=192.168.2.12
    PREFIX=24
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=bond0
    UUID=bbe539aa-5042-4d28-a0e6-2a4d4f5dd744
    ONBOOT=yes

    2. El siguiente ejemplo define el ens33 interfaz de red física como esclavo para bond0:

    # cat /etc/sysconfig/network-scripts/ifcfg-ens33 
    TYPE=Ethernet
    NAME=ens33
    UUID=817e285b-60f0-42d8-b259-4b62e21d823d
    DEVICE=ens33
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    3. El siguiente ejemplo define el ens37 interfaz de red física como esclavo para bond0:

    # cat /etc/sysconfig/network-scripts/ifcfg-ens37 
    TYPE=Ethernet
    NAME=ens37
    UUID=f0c23472-1aec-4e84-8f1b-be8a2ecbeade
    DEVICE=ens37
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    4. Reinicie los servicios de red
    Reinicie los servicios de red para habilitar la interfaz de vinculación.

    # systemctl restart network

    En caso de que no desee reiniciar el servicio de red, puede conectar la interfaz de vinculación individualmente:

    # ifup bond0

    Verificar la configuración de enlace de red

    1. Verifique la nueva interfaz en la salida del comando 'ip addr show':

    # ip addr show
    1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    4: ens37: [BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP] mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever

    2. También verifique el estado actual de las interfaces de vinculación y qué interfaz está actualmente activa, usando el siguiente comando:

    # 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: ens33
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens33
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:20
    Slave queue ID: 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    Del resultado del comando anterior, podemos ver que ens33 es el esclavo actualmente activo en el vínculo.

    Prueba de tolerancia a fallos de la configuración de vinculación

    1. Como se trata de una configuración de enlace de respaldo activo, cuando una interfaz deja de funcionar, la otra interfaz en el enlace se convierte en el esclavo activo. Para verificar esta funcionalidad, bajaremos la interfaz actual ens33.

    # ifdown ens33

    2. Si vuelve a comprobar el estado de la interfaz de enlace, encontrará que el nuevo esclavo activo es la interfaz ens37.

    # 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: ens37
    MII Status: up
    MII Polling Interval (ms): 1
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:54:f7:34
    Slave queue ID: 0

    También la interfaz de bonos estará en funcionamiento:

    # ip add show bond0
    5: bond0: [BROADCAST,MULTICAST,MASTER,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
        link/ether 00:0c:29:54:f7:20 brd ff:ff:ff:ff:ff:ff
        inet 192.168.2.12/24 brd 192.168.2.255 scope global bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe54:f720/64 scope link 
           valid_lft forever preferred_lft forever
    CentOS/RHEL 7:cómo crear una vinculación de interfaz usando nmcli


    Cent OS
    1. Cómo configurar la formación de equipos de red en CentOS/RHEL 7

    2. Cómo configurar interfaces en modo promiscuo en CentOS/RHEL 7 (persistentemente)

    3. Cómo configurar VLAN 802.1q en NIC en CentOS/RHEL 7 y 8

    4. Cómo configurar la formación de equipos de interfaz de red en CentOS/RHEL 7 y 8

    5. Cómo configurar la vinculación de interfaz (NIC Teaming) en Oracle Linux 6

    Cómo configurar una interfaz de red virtual en RHEL 8/CentOS 8

    Cómo configurar la vinculación de la interfaz de red en RHEL 8 / CentOS 8 Linux

    Configurar la vinculación de NIC (tarjeta de interfaz de red) en CentOS 7 / RHEL 7

    Cómo configurar la formación de equipos NIC en CentOS 8/RHEL 8

    Cómo configurar la dirección IP en CentOS 7/RHEL 7 y CentOS 6/RHEL 6

    Cómo cambiar el nombre de la interfaz de red a eth0 en CentOS 8/RHEL 8