Eu tenho dois servidores ESXi remotos em um datacenter diferente. Em ambos instalei 2 VM pfsense com uma VPN site2site com OpenVPN para conectar as duas sub-redes 192.168.1.0/24 e 192.168.2.0/24 pela internet.
Eu tenho um monte de VM nesses dois ESXi conectados uns aos outros através das sub-redes acima. Todos podem pingar um ao outro, exceto um.
Esta é a situação:
Site A: 192.168.10.0/24
Site B: 192.168.20.0/24
Pfsense A: 192.168.10.1/24
Pfsense B: 192.168.20.1/24
VM A1: eth1 192.168.10.2/24 and eth0 1.1.1.1/32
VM A2: 192.168.10.3/24 (single IF with default GTW 192.168.10.1
VM B1: eth0 192.168.20.2/24 and eth1 2.2.2.2/32
VM A1 route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 11.11.11.11 0.0.0.0 UG 101 0 0 eth0
11.11.11.11 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
1.1.1.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
192.168.20.0 192.168.10.1 255.255.255.0 UG 100 0 0 eth1
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1
VM B1 route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 22.22.22.22 0.0.0.0 UG 101 0 0 eth1
22.22.22.22 0.0.0.0 255.255.255.255 UH 100 0 0 eth1
2.2.2.2 0.0.0.0 255.255.255.255 UH 100 0 0 eth1
192.168.10.0 192.168.20.1 255.255.255.0 UG 100 0 0 eth0
192.168.20.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
(11.11.11.11 e 22.22.22.22 é o gateway padrão dado pelo provedor, eu preciso dessa configuração para conectar do remoto naquele IP).
O estranho é:
No tcpdump no pfsense, pingado de A1 para B1, noto que A1 usa 1.1.1.1 como IP, em vez 192.168.10.2, enquanto B1 e A2 usam 192.168.20.2 e 192.168.10.3:
tcpdump no pfsense A, ping pfsense A da A1:
19:41:33.739531 IP 192.168.10.2 > 192.168.10.1: ICMP echo request, id 26186, seq 1, length 64
19:41:33.739565 IP 192.168.10.1 > 192.168.10.2: ICMP echo reply, id 26186, seq 1, length 64
tcpdump no pfsense A, ping pfsense B de A1:
19:41:41.065664 IP 1.1.1.1 > 192.168.20.1: ICMP echo request, id 26193, seq 1, length 64
tcpdump no pfsense A, ping B1 do A1:
19:41:41.065664 IP 1.1.1.1 > 192.168.20.2: ICMP echo request, id 26193, seq 1, length 64
tcpdump no pfsense A, ping B1 do A2:
19:42:24.368952 IP 192.168.10.3 > 192.168.20.2: ICMP echo request, id 31618, seq 1, length 64
19:42:24.383237 IP 192.168.20.2 > 192.168.10.3: ICMP echo reply, id 31618, seq 1, length 64
tcpdump no pfsense B, ping A1 de B1:
19:46:05.538819 IP 192.168.20.2 > 192.168.10.2: ICMP echo request, id 12244, seq 4, length 64
19:46:05.552069 IP 192.168.10.2 > 192.168.20.2: ICMP echo reply, id 12244, seq 4, length 64
A1 e B1 são dois Centos 7.3 com gerenciador de rede. A rota foi adicionada com nmcli.
Por que B1 pode alcançar A1 mas A1 não? Eles têm o mesmo caminho!
- EDIT-- Eu encontrei o problema: Havia uma regra do SNAT nos meus iptables A1. Excluí 192.168.10.2 da tradução e agora funciona.
Tags centos7