
Estou procurando pacotes de uma sub-rede para outra a mais de um salto de distância; considere por exemplo:
[ 192.168.0.4 ] - - - > [ 192.168.10.11 ] - - - > [ 172.23.100.13 ]
Gostaria que 192.168.0.4 se conectasse a 172.23.100.13, mas o problema é:
# ip route add 172.23.100.13/32 via 192.168.10.11
Error: Nexthop has invalid gateway.
Pelo que entendi, Error: Nexthop has invalid gateway.
significa “você não pode fazer isso porque 192.168.10.11 não está na rede 192.168.0.0/24, que é a rede em que você está”.
Minha pergunta é se isso é possível com as regras do iptables; Presumo que seja possível, mas ainda não consegui fazer as coisas funcionarem. Depois de algumas leituras, tentei definir uma regra PREROUTING nat para enviar pacotes que vão de 172.23.100.13 para 192.168.10.11:
# iptables -t nat -A PREROUTING -d 172.23.100.13 -j DNAT --to-destination 192.168.10.11
Infelizmente, nada acontece. Eu nem tenho certeza de como proceder para depurar. Eu tentei:
# iptables -t nat -A PREROUTING -d 172.23.100.13 -j LOG
mas nada aparece nos logs
Eu também tentei o tcpdump:
tcpdump -i <interface> -vv | egrep '(172.23.109.13|192.168.10.11)’ &
mas obtenha apenas a seguinte linha repetida:
192.168.0.4.43898 > 172.23.100.13.8000: Flags [S], cksum 0x2374 (incorrect -> 0xa00f), seq 573960788, win 62727, options [mss 8961,sackOK,TS val 1537225626 ecr 0,nop,wscale 7], length 0
Esta é a abordagem correta? Alguma pista sobre o que verificar?
Obrigado!
Responder1
Eu descobri a peça que faltava neste quebra-cabeça. A máquina 192.168.10.11
é capaz de enviar pacotes 172.23.100.13
porque existe, o que parece ser, uma interface VXLAN para a 172.23.100.0/24
rede; portanto, voltamos ao requisito fundamental de que duas redes devem estar conectadas em uma máquina para podermos roteá-las.