Supongamos que hay hosts A
y B
. A
se le permite acceso SSH B
en función de su dirección IP. Consideremos ahora otro anfitrión C
. C
no tiene acceso a B
, pero si pudiéramos enrutar su tráfico a través de A
, entonces C
podríamos acceder B
. El problema es, ¿cómo hacer este tipo de traducción de direcciones? No hay dos hosts en la misma LAN.
Lo primero que pensé fue hacer SNAT con iptables en A
:
iptables -t nat -A POSTROUTING --protocol tcp --source C --destination B --sport 7777 --dport 22 -j SNAT A
lo que significa que C
debería intentar conectarme, A:7777
pero me di cuenta de que enrutar el paquete antes de SNAT lo estropea todo, por lo tanto, la traducción de direcciones debe realizarse en PREROUTING, lo cual desafortunadamente es imposible. Otra idea fue configurar una VPN, pero creo que es demasiado complicado. ¿Existe una forma sencilla de hacer esto, preferiblemente con algo tan limpio como iptables?