Descrição
Meu objetivo é fazer ping na Máquina C ( 10.223.0.7
) da Máquina A ( 10.101.0.40
)
Tenho 2 redes e 3 máquinas
Rede A:
10.223.0.0/24
Rede B:
10.101.0.0/16
Máquina A (o "pinger"):
10.101.0.40
(no eth5)Máquina B (o "roteador"):
10.101.2.97
(no ens7) e10.223.0.1
(no wg0)Máquina C (o "pingado"):
10.223.0.7
(em wg0)Habilitei o encaminhamento de IP na Máquina B, globalmente e em ambas as interfaces ens7 e wg0
Meu firewall está ACEITANDO regras FORWARD na Máquina B.
Adicionei esta regra:
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
na Máquina B para habilitar o mascaramentoAdicionei esta regra
ip route add 10.223.0.0/24 via 10.101.2.97 dev eth5
na Máquina A para rotear os pacotes
O teste
Quando lanço o ping, isto é o que posso ver com tcpdump -nni any icmp
:
Máquina A:
18:16:12.976724 eth5 Out IP 10.101.1.40 > 10.223.0.7: ICMP echo request, id 7373, seq 1065, length 64
Máquina B:
18:16:12.977241 ens7 In IP 10.101.1.40 > 10.223.0.7: ICMP echo request, id 7373, seq 1065, length 64
18:16:12.977287 wg0 Out IP 10.223.0.1 > 10.223.0.7: ICMP echo request, id 7373, seq 1065, length 64
18:16:12.978201 wg0 In IP 10.223.0.7 > 10.223.0.1: ICMP echo reply, id 7373, seq 1065, length 64
18:16:12.978217 ens7 Out IP 10.223.0.7 > 10.101.1.40: ICMP echo reply, id 7373, seq 1065, length 64
Máquina C
18:16:12.977754 wg0 In IP 10.223.0.1 > 10.223.0.7: ICMP echo request, id 7373, seq 1065, length 64
18:16:12.977767 wg0 Out IP 10.223.0.7 > 10.223.0.1: ICMP echo reply, id 7373, seq 1065, length 64
E nenhuma resposta está retornando para a Máquina A.
Acho que o problema está na 4ª linha do log da Máquina B. O IP do SRC é, 10.223.0.7
mas na minha opinião deveria ser 10.101.2.97
, o IP da Máquina B na rede ens7. Não tenho a mínima ideia do porquê disso ser assim.
Tentei adicionar essa regra de mascarada, iptables -t nat -A POSTROUTING -o ens7 -j MASQUERADE
mas como esperado: isso não está funcionando.
Pergunta
Por que a máscara está funcionando na solicitação (veja a 2ª linha da Máquina B) e não na resposta (veja a 4ª linha da Máquina B)?