
Tenho um servidor (S1) dentro da LAN, onde um roteador está fora do meu controle. Em um servidor, o openvpn está instalado e posso fazer login com ssh nele. Há outro servidor (S2) na LAN e desejo encaminhar a porta S2 para a porta S1.
Se eu fizer
sudo iptables -t nat -A PREROUTING -p tcp -m tcp -d S1 --dport 8001 -j DNAT --to-destination S2:80
e tente conectar S1:8001 do meu computador que tenho na interface LAN do S1:
IP **my_vpn_ip**.48174 > S2.80: Flags [S], seq 4243753453, win 14600, options [mss 1368,sackOK,TS val 89266048 ecr 0,nop,wscale 7], length 0
Obviamente não funciona, pois o S2 não tem rota para o meu computador e não consegue enviar resposta. É possível falsificar a origem em S1 para receber pacotes de volta e depois fazer NAT?
Não é possível alterar rotas no S2, pois se trata de uma Câmera IP com funcionalidades muito limitadas.
Responder1
Configure o SNAT/Masquerading no host ao qual você está se conectando. Para que seu endereço de origem seja modificado para aparecer como o proxy vindo da caixa NAT.
Uma regra tão simples como esta pode fazer o que você deseja.
iptables -t nat -A POSTROUTING --destination S2 -j MASQ