
Estoy trabajando en la configuración de una gran empresa que tiene docenas de firewalls y un gran servidor proxy. De vez en cuando necesito acceder a algunos servicios que están en redes aisladas y tengo acceso a los servicios en esas redes. Actualmente tengo el siguiente enfoque:
Tengo una aplicación donde configuro túneles locales, por ejemplo.
ssh -L 30001:super01.secret.host:3419 secretServer1 ssh -L 30002:super01.secret.host:8080 secretServer1 ssh -L 30011:super02.secret.host:8080 secretServer1 ssh -L 30021:super03.secret.host:4000 secretServer2
Tengo marcadores para cada servicio web que apuntan a (por ejemplo) localhost:30001
Configuro los programas locales que desarrollo para usar las URL localhost:30001.
Sé que hay otra forma con el reenvío dinámico de puertos y el proxy Socks, pero es realmente complicado configurarlo (teniendo en cuenta que de todos modos tengo que tener un proxy para todo el sistema de mi empresa).
¿Hay alguna manera de redirigir las solicitudes que van a super01.secret.host:3419 y enrutarlas a través de localhost:30001? Porque entonces puedo implementar una aplicación (script) donde usted define que desea acceder a super01.secret.host a través del servidor secretServer1 y abrirá un reenvío de puerto local y creará una redirección. ¿O hay una forma aún mejor de configurar esto?
Mi objetivo principal: - tener toda la configuración de red en todo el sistema - tener un acceso transparente a los servicios desde las redes aisladas (es decir, si desde esa red tengo que acceder a super01.secret.host:8080, quiero obtener acceso a mismo host y puerto desde mi máquina local): quiero que el resto de la red funcione como antes (es decir, las solicitudes se enrutan a través del proxy de la empresa a menos que estén en la lista noproxy)
Respuesta1
Puede utilizar proxies ssh y reenvío de puertos mediante iptables
configuras servidores proxy ssh, como lo haces.
reenvío de puertos, por ejemplo. para la primera redirección
iptables -A PREROUTING -t nat -i eth0 -p tcp -d secretServer1 --dport 3419 -j DNAT --to localhost:3001
Nota: esto no ha sido probado