Estou usando o servidor Ubuntu 12.04, em um servidor com 6 NICs, agrupados em 2 pacotes:
- eth0 e eth2 são empacotados usando o modo de ligação 1, sob o nome da interface
bond0 que tem IP [rede] .8
- eth1, eth3, eth4 e eth5 são agrupados
usando o modo de ligação 4 (802.3ad), sob o nome da interface bond1
bond1 será usado para conectar as VMs à nossa rede: elas são vinculadas por meio de br0, que tem IP [network].
Agora, quando faço ping [network] .5 da nossa rede, tudo parece funcionar, mas nossas VMs não têm acesso à rede.
Após bisbilhotar por um tempo, notei que o IP de br0 ([network] .5) está associado ao endereço MAC do bond1, ou seja:
arping <[network].5>
retorna
Unicast reply from <[network].5> [<bond0's MAC address>] 0.710ms
Além disso, enquanto eu estou pingando [rede] .5:
tcpdump -i br0 icmp
não mostra tráfego ICMP,
tcpdump -i bond1
não mostra nenhum tráfego, mas
tcpdump -i bond0
mostra os pacotes ICMP que estou enviando usando ping.
É bem óbvio que os pacotes são enviados pelo canal errado. Minha pergunta aqui é: por que é assim e como posso consertar isso?
Aqui está o conteúdo do meu arquivo / etc / network / interfaces:
# bond0 part :
auto eth0
iface eth0 inet manual
bond-master bond0
auto eth2
iface eth2 inet manual
bond-master bond0
auto bond0
iface bond0 inet static
address [network].8
gateway [network].254
netmask 255.255.254.0
# bonding mode 1 :
bond-mode balance-rr
bond-slaves none
auto eth1
iface eth1 inet manual
bond-master bond1
auto eth3
iface eth3 inet manual
bond-master bond1
# bond1 and br0 part :
auto eth4
iface eth4 inet manual
bond-master bond1
auto eth5
iface eth5 inet manual
bond-master bond1
auto bond1
iface bond1 inet manual
# bonding mode 4 :
bond-mode 802.3ad
bond-slaves none
bond-miimon 100
bond-downdelay 200
bond-updelay 200
bond_xmit_hash_policy layer2
bond_lacp_rate fast
auto br0
iface br0 inet static
address [network].5
netmask 255.255.254.0
gateway [network].254
bridge_ports bond1
bridge_maxwait 5
bridge_stp off
bridge_fd 0
Por favor, note que:
- A agregação de links 802.3ad foi configurada no lado do swich
- Verificamos várias vezes que as portas corretas estão conectadas
- O mesmo problema ocorre em 2 servidores com exatamente o mesmo hardware + configuração de software
[EDIT] Após várias reinicializações, acontece o contrário: bond0 está associado ao endereço mac do bond1. Isso parece acontecer aleatoriamente. Quando isso acontece, as VMs por trás da ponte têm acesso à nossa rede e à Internet.