Ubuntu: Interface ethX não ligada após desconectar e reconectar o cabo

Ubuntu: Interface ethX não ligada após desconectar e reconectar o cabo

Estou tentando definir a configuração de failback na ligação, mas não consigo contornar a configuração da interface. Minha interface é a seguinte:

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

Meu arquivo /etc/modprobe.d/bonding.conf é:

alias bond0 bonding
options bonding mode=3

Eu testo executando ping de outro sistema. Meu status de vínculo é o seguinte:

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

Quando eu removo o cabo eth1, o failover funciona e o eth3 executa os dados (o ping ainda continua).

Se eu conectar novamente a eth1 e remover a eth3, o ping será interrompido e o status de ligação não conterá nada da interface. O status do título é:

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

Tentei com todos os modos da ligação (0 a 6). Mas nenhuma configuração fornece suporte de failback. Onde eu estou errando?

Responder1

EDITAR 10/01/2019:Estas instruções são para Ubuntu 16.04 e versões anteriores. Vou tentar atualizar com instruções para 18.04.

Nesta resposta, estamos usando active-backupa ligação com um bond-primaryconjunto de interfaces que permite que o failover retorne ao primário quando estiver disponível. Mais informações podem ser encontradas:https://wiki.linuxfoundation.org/networking/bonding


A ligação no Ubuntu é uma configuração diferente de outras distros do Linux como o RedHat. Fiz algumas configurações de ligação no Ubuntu e irei descrevê-las abaixo da melhor maneira possível.

Ao que parece, você já ifenslaveinstalou, mas se não, instale ifenslave:

sudo apt-get install ifenslave

A seguir, dê uma olhada /etc/modulese certifique-se de que contém as seguintes linhas:

loop
lp
rtc
bonding

No /etc/network/interfacesarquivo, defina suas loopbackinterfaces eth1, e 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

Agora configure sua bond0interface active-backuppara failover se uma das conexões NIC falhar:

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

Salve as alterações no /etc/network/interfacesarquivo e reinicie o serviço de rede:

sudo /etc/init.d/networking restart

Agora você pode verificar sua configuração de ligação. Certifique-se de que seu bond0, eth1e eth3esteja correto:

sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3

Verifique se o failover agora funciona removendo eth1de bond0:

sudo ifenslave -d bond0 eth1

Verifique se você ainda consegue executar ping no gateway:

ping -c2 192.168.1.1

Adicione eth1de volta a bond0:

sudo ifenslave bond0 eth1

Espero que isto ajude!

informação relacionada