Omita de forma transparente el proxy para acceder a ciertos dominios a través de SSH

Omita de forma transparente el proxy para acceder a ciertos dominios a través de SSH

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:

  1. 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
    
  2. Tengo marcadores para cada servicio web que apuntan a (por ejemplo) localhost:30001

  3. 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

  1. configuras servidores proxy ssh, como lo haces.

  2. 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

información relacionada