Reenvío de IP con iptables

Reenvío de IP con iptables

Supongamos que hay hosts Ay B. Ase le permite acceso SSH Ben función de su dirección IP. Consideremos ahora otro anfitrión C. Cno tiene acceso a B, pero si pudiéramos enrutar su tráfico a través de A, entonces Cpodrí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 Cdebería intentar conectarme, A:7777pero 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?

información relacionada