kvm guest routing com 2 gateways padrão

1

Eu tenho um convidado kvm com dois NICs virtuais.

  1. NIC com IP interno III.III.III.III (eth0)
  2. NIC com IP externo EEE.EEE.EEE.EEE (eth1)

Estou usando o macvtap. O host tem seu próprio IP externo. Eu posso pingar ambos NIC do host, mas eu não posso pingar EEE.EEE.EEE.EEE de fora. Eu fiz um tcpdump em ambos os NIC. Eu vejo solicitações ICMP na eth1, mas as respostas parecem ser enviadas usando a interface eth0 interna "errada".

# tcpdump -i eth1 icmp -n

14:57:30.398789 IP XXX.XXX.XXX.XXX > EEE.EEE.EEE.EEE: ICMP echo request, id 1408, seq 6, length 64
14:57:31.398546 IP XXX.XXX.XXX.XXX > EEE.EEE.EEE.EEE: ICMP echo request, id 1408, seq 7, length 64
14:57:32.398547 IP XXX.XXX.XXX.XXX > EEE.EEE.EEE.EEE: ICMP echo request, id 1408, seq 8, length 64
14:57:33.398550 IP XXX.XXX.XXX.XXX > EEE.EEE.EEE.EEE: ICMP echo request, id 1408, seq 9, length 64

# tcpdump -i eth0 icmp -n

14:57:40.398610 IP EEE.EEE.EEE.EEE > XXX.XXX.XXX.XXX: ICMP echo reply, id 1408, seq 16, length 64
14:57:41.398562 IP EEE.EEE.EEE.EEE > XXX.XXX.XXX.XXX: ICMP echo reply, id 1408, seq 17, length 64
14:57:42.398562 IP EEE.EEE.EEE.EEE > XXX.XXX.XXX.XXX: ICMP echo reply, id 1408, seq 18, length 64
14:57:43.398588 IP EEE.EEE.EEE.EEE > XXX.XXX.XXX.XXX: ICMP echo reply, id 1408, seq 19, length 64

Eu tenho duas rotas padrão. Uma configuração de libvirt / kvm para rede interna convidada com NAT e outra configurada por mim para eth1.

# route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         ###.###.###.### 0.0.0.0         UG    0      0        0 eth1
0.0.0.0         192.168.122.1   0.0.0.0         UG    0      0        0 eth0
###.###.###.### 0.0.0.0         255.255.255.255 UH    0      0        0 eth1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

Eu não consigo pingar EEE.EEE.EEE.EEE de fora por causa do NAT, as solicitações são enviadas para um IP e as respostas estão vindo de outro? Tendo 2 rotas padrão provavelmente não é uma boa idéia, eu deveria remover o NAT extra. No entanto, não entendo porque os pacotes de resposta do ICMP não são enviados na interface recebendo as solicitações. É um "recurso" (um tipo de balanceador de carga)? É possível evitar isso?

    
por ablm 26.05.2015 / 18:46

0 respostas