Ignorar o proxy de forma transparente para acessar determinados domínios via SSH

Ignorar o proxy de forma transparente para acessar determinados domínios via SSH

Estou trabalhando na configuração de uma grande empresa que possui dezenas de firewalls e um grande servidor proxy. De vez em quando preciso acessar alguns serviços que estão em redes isoladas e tenho acesso aos serviços dessas redes. Atualmente tenho a seguinte abordagem:

  1. Eu tenho um aplicativo onde configuro túneis locais, por exemplo

    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. Tenho marcadores para cada serviço da web que apontam para (por exemplo) localhost:30001

  3. Eu configuro os programas locais que desenvolvo para usar os URLs localhost:30001.

Eu sei que existe outra maneira de encaminhamento de porta dinâmico e proxy Socks, mas é muito difícil configurá-lo (considerando que preciso ter de qualquer maneira um proxy para todo o sistema da minha empresa).

Existe uma maneira de redirecionar solicitações que vão para super01.secret.host:3419 e roteá-las por meio de localhost:30001? Pois assim eu posso implementar um app (script) onde você define que deseja acessar super01.secret.host através do servidor secretServer1 e ele abrirá um encaminhamento de porta local e criará um redirecionamento. Ou existe uma maneira ainda melhor de configurar isso.

Meu principal objetivo: - ter toda a configuração de rede em todo o sistema - ter acesso transparente aos serviços das redes isoladas (ou seja, se dessa rede eu tiver que acessar super01.secret.host:8080 quero obter acesso ao mesmo host e porta da minha máquina local) - quero fazer com que todo o resto da rede funcione como antes (ou seja, as solicitações são roteadas através do proxy da empresa, a menos que estejam na lista noproxy)

Responder1

Você pode usar proxies ssh e encaminhamento de porta usando iptables

  1. você configura proxies ssh, como você faz.

  2. encaminhamento de porta, por exemplo. para o primeiro redirecionamento

    iptables -A PREROUTING -t nat -i eth0 -p tcp -d secretServer1 --dport 3419 -j DNAT --to localhost:3001
    

Observação: isso não foi testado

informação relacionada