Suponha que haja hosts A
e B
. A
tem permissão de acesso SSH a B
com base em seu endereço IP. Considere agora outro host C
. C
não tem acesso a B
, mas se pudermos direcionar o tráfego por meio de A
, C
poderá 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
significa que C
deve tentar se conectar a A:7777
, mas 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. Outro pensamento foi configurar uma VPN, mas acho que é muito complicado. Existe uma maneira legal de fazer isso, de preferência com algo tão limpo quanto o iptables?