Ubuntu: La interfaz ethX no está conectada después de desconectar y volver a conectar el cable

Ubuntu: La interfaz ethX no está conectada después de desconectar y volver a conectar el cable

Estoy intentando configurar la configuración de conmutación por recuperación en la vinculación, pero no puedo evitar la configuración de la interfaz. Mi interfaz es la siguiente:

auto bond0
iface bond0 inet static
       address 192.168.1.39
       netmask 255.255.255.0
       up /sbin/ifenslave bond0 eth1 eth3
       down /sbin/ifenslave -d bond0 eth1 eth3

Mi archivo /etc/modprobe.d/bonding.conf es:

alias bond0 bonding
options bonding mode=3

Lo pruebo ejecutando ping desde otro sistema. El estado de mi fianza es el siguiente:

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0

Cuando quito el cable eth1, la conmutación por error funciona y eth3 realiza los datos (el ping aún continúa).

Si vuelvo a conectar eth1 y elimino eth3, el ping se detiene y el estado de vinculación no contiene ninguna interfaz. El estado del bono es:

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Probé con todos los modos en la vinculación (0 a 6). Pero ninguna de las configuraciones proporciona soporte de recuperación. ¿Dónde me equivoco?

Respuesta1

EDITAR 2019-01-10:Estas instrucciones son para Ubuntu 16.04 y versiones anteriores. Intentaré actualizar con instrucciones para 18.04.

En esta respuesta, utilizamos active-backupla vinculación con un bond-primaryconjunto de interfaces que permite que la conmutación por error regrese al principal cuando esté disponible. Se puede encontrar más información:https://wiki.linuxfoundation.org/networking/bonding


La vinculación en Ubuntu es una configuración diferente a la de otras distribuciones de Linux como RedHat. He realizado algunas configuraciones de vinculación en Ubuntu y las expondré a continuación lo mejor posible.

Como parece, ya lo tienes ifenslaveinstalado, pero si no, instala ifenslave:

sudo apt-get install ifenslave

A continuación, échale un vistazo /etc/modulesy asegúrate de que tenga las siguientes líneas:

loop
lp
rtc
bonding

En el /etc/network/interfacesarchivo, configure sus loopbackinterfaces eth1, y eth3:

auto lo
    iface lo inet loopback

auto eth1
    iface eth1 inet manual
    bond-master bond0
    bond-primary eth1

auto eth3
    iface eth3 inet manual
    bond-master bond0

Ahora configure su bond0interfaz active-backuppara conmutación por error si falla una de las conexiones NIC:

auto bond0
    iface bond0 inet static
    address 192.168.1.39
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    bond-mode active-backup
    bond-miimon 100
    bond-slaves none

Guarde los cambios en /etc/network/interfacesel archivo y reinicie su servicio de red:

sudo /etc/init.d/networking restart

Ahora puede verificar la configuración de su vinculación. Asegúrese de que sus bond0y eth1sean eth3correctos:

sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3

Verifique si la conmutación por error ahora funciona eliminando eth1de bond0:

sudo ifenslave -d bond0 eth1

Verifique si aún puede hacer ping a la puerta de enlace:

ping -c2 192.168.1.1

Añadir eth1de nuevo a bond0:

sudo ifenslave bond0 eth1

¡Espero que esto ayude!

información relacionada