Encaminhamento de IP com iptables

Encaminhamento de IP com iptables

Suponha que existam hosts Ae B. Atem permissão de acesso SSH Bcom base em seu endereço IP. Considere agora outro host C. Cnão tem acesso a B, mas se pudéssemos rotear seu tráfego A, então Cpoderíamos acessar B. O problema é: como fazer esse tipo de tradução de endereços? Não há dois hosts na mesma LAN.

Meu primeiro pensamento foi fazer SNAT com iptables em A:

iptables -t nat -A POSTROUTING --protocol tcp --source C --destination B --sport 7777 --dport 22 -j SNAT A

ou seja, Cdeveria tentar conectar, A:7777mas percebi que rotear o pacote antes do SNAT estraga tudo, portanto a tradução do endereço deve ser feita em PREROUTING - o que infelizmente é impossível. Outra ideia foi montar uma VPN, mas acho muito complicado. Existe uma maneira legal de fazer isso, de preferência com algo tão limpo quanto o iptables?

informação relacionada