a configuração keepalived não está funcionando corretamente com o virtualbox vms

4

minha configuração keepalived não está funcionando corretamente.

Eu tenho duas máquinas virtuais de teste (virtualbox) para testar algumas coisas com keepalived / vrrp. Bot pode pingar uns aos outros sem falhas (rede interna de caixa virtual).

VM 1 (MASTER):

eth0: Management
eth1: 192.168.2.1/24
eth2: 192.168.2.2/24

keepalived.conf:

vrrp_instance test {
state MASTER
interface eth1
track_interface {
        eth2
}
virtual_router_id 1
priority 101
advert_int 1
authentication {
        auth_type PASS
        auth_pass 1111
}
virtual_ipaddress {
        192.168.3.1/24 dev eth1
        192.168.3.2/24 dev eth2
}
}

tcpdump on eth1:

12:44:54.720119 IP 192.168.2.1 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 101, authtype simple, intvl 1s, length 24
12:44:55.049465 IP 192.168.2.3 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 24

tcpdump on eth2:

12:46:21.082264 IP 192.168.2.1 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 101, authtype simple, intvl 1s, length 24
12:46:21.494239 IP 192.168.2.3 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 24

VM 2 (BACKUP):

eth0: Management
eth1: 192.168.2.3/24
eth2: 192.168.2.4/24

keepalived.conf:

vrrp_instance test {
state BACKUP
interface eth1
track_interface {
        eth2
}
virtual_router_id 1
priority 100
advert_int 1
authentication {
        auth_type PASS
        auth_pass 1111
}
virtual_ipaddress {
        192.168.3.1/24 dev eth1
        192.168.3.2/24 dev eth2
}
}

tcpdump on eth1:

12:53:12.265456 IP 192.168.2.1 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 101, authtype simple, intvl 1s, length 24
12:53:12.670635 IP 192.168.2.3 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 24

tcpdump on eth2:

12:53:34.397374 IP 192.168.2.1 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 101, authtype simple, intvl 1s, length 24
12:53:34.787327 IP 192.168.2.3 > vrrp.mcast.net: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 24

Depois de iniciar o keepalived na VM 2, ele transita instantaneamente para o estado principal, que não deveria ser.

Por que isso está acontecendo?

    
por carrot 02.04.2013 / 13:01

1 resposta

0

São eth1 e eth2 na mesma sub-rede física (virtual-física)? Caso contrário, parece um pouco estranho que você tenha duas interfaces diferentes em cada host com IPs na mesma sub-rede e que você esteja atribuindo IPs a cada uma das interfaces que estão na mesma sub-rede. Eu sugeriria experimentar:

VM 1: eth1 - 192.168.101.2/24, eth2 - 192.168.102.2/24
VM 2: eth1 - 192.168.101.3/24, eth2 - 192.168.102.3/24
VRRP: eth1 - 192.168.101.1/24, eth2 - 192.168.103.1/24

Isso coloca os endereços em cada uma das interfaces nas mesmas sub-redes, mas em sub-redes diferentes das outras interfaces no mesmo host. Não estou certo de que isso esteja causando problemas, mas parece que poderia, já que seus hosts terão duas rotas de dispositivos diferentes para a mesma sub-rede, o que pode confundir keepalived e / ou VRRP. Eu acho que geralmente é assim que você vê o VRRP trabalhando em coisas como roteadores Cisco, por exemplo - você verá um endereço IP virtual e depois os IPs físicos dos dois dispositivos, todos na mesma sub-rede.

A outra coisa que parece ser recomendada na documentação keepalived é colocar os pontos de 50-ish de prioridade separados - então, configure MASTER em 150 e BACKUP em 100.

    
por 05.01.2018 / 05:58