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-backup
a ligação com um bond-primary
conjunto 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á ifenslave
instalou, mas se não, instale ifenslave
:
sudo apt-get install ifenslave
A seguir, dê uma olhada /etc/modules
e certifique-se de que contém as seguintes linhas:
loop
lp
rtc
bonding
No /etc/network/interfaces
arquivo, defina suas loopback
interfaces 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 bond0
interface active-backup
para 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/interfaces
arquivo 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
, eth1
e eth3
esteja correto:
sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3
Verifique se o failover agora funciona removendo eth1
de bond0
:
sudo ifenslave -d bond0 eth1
Verifique se você ainda consegue executar ping no gateway:
ping -c2 192.168.1.1
Adicione eth1
de volta a bond0
:
sudo ifenslave bond0 eth1
Espero que isto ajude!