Port tuning de trás do firewall para o servidor remoto via laptop VNC'd?

0

Eu tenho um aplicativo de linha de comando no linux que usa uma porta específica para conversar com um servidor remoto. Infelizmente, no trabalho, essa porta está bloqueada.

Eu posso conectar meu laptop via VNC à rede, e o laptop está em uma conexão Wi-Fi que tem acesso à porta para o servidor remoto. Eu sou capaz de ssh para o meu laptop a partir da rede segura quando ele está conectado.

Existe uma maneira de usar o tunelamento de porta ssh para contornar isso? Posso portar o túnel para o meu laptop e fazer o meu laptop agir como intermediário entre a rede com firewall e o servidor remoto?

Firewalled Linux Box ---ssh---> Mac OSX Laptop ---wifi---> Remote Server

Alguns detalhes:

  • O aplicativo de linha de comando é um wrapper para pip. A linha de comando não tem a opção de especificar um proxy ou um ip / server alternativo para ser usado.
  • No meu entendimento, o Pip pode estar se comunicando com vários servidores diferentes, mas provavelmente o pypi.python.org.
  • De acordo com uma fonte que encontrei, o Pip comunica pela porta 3128

Eu tentei o seguinte:

ssh -v -f -4 -N -L 3128:pypi.python.org:3128 [email protected]

(O xx.x.xx.xxx é o endereço IP do laptop)

Quando é executado, diz:

Remote connections from LOCALHOST:3128 forwarded to local address pypi.python.org:3128

Isso parece atrasado para mim, mas eu sou novo nisso, então quem sabe! De qualquer maneira, não parece funcionar. FYI, como um teste que estou usando:

telnet pypi.python.org 3128

para verificar se a máquina com firewall agora tem acesso, mas isso não acontece.

Alguma opinião?

    
por AndyN 22.11.2017 / 16:25

1 resposta

1

Nota geral: Amarrar redes seguras a redes não seguras não é uma preocupação estritamente técnica. Pode te despedir ou pior. Obter permissão de cadeia.

Para o técnico:

Para realizar:

telnet pypi.python.org 3128

você precisará alterar seu arquivo / etc / hosts para incluir "pypi.python.org" como parte da linha localhosts.

No meu caso, acessando repositórios de código remotos via túnel ssh, para que as configurações da ferramenta de desenvolvimento permaneçam consistentes (sempre referenciando o mesmo nome de host) mesmo quando remoto, eu uso apenas algo como o script de exemplo a seguir chamado pelo cron ou manualmente).

Faça o backup do seu arquivo / etc / hosts antes de usar o script.

triggerport=1234
servname="myserver"
if [ 'netstat -nl | grep :631 | wc -l ' -gt 0  ]
  then 
    awk -v serv=$servname  '/127.0.0.1/ {print $0 " " serv;next} 1' /etc/hosts > /etc/hosts
 else
    awk -v serv=$servname '{gsub(serv,"")};1' /etc/hosts > /etc/hosts
fi

Como afirmei, você poderia configurar uma tarefa cron para acionar esse script e estabelecer o mapeamento de nome de host de túnel automaticamente. Eu normalmente só fiz isso em conexões de sistema para sistema que trarão para cima e para baixo túneis ssh conforme necessário.

    
por 22.11.2017 / 17:36