Como configuro meu proxy SOCKS?

Como configuro meu proxy SOCKS?

Eu sei como os servidores proxy funcionam por dentro e por fora, em teoria, mas a prática está tirando o melhor de mim.

Preciso configurar um proxy SOCKS na mesma rede do meu IP de gerenciamento para que ele permaneça abstraído dos usuários. Eu tenho um cluster vCenter no qual posso implantar qualquer sistema operacional recomendado, mas para simplificar, aqui está a configuração:

  • IP de gerenciamento do sistema de armazenamento = 10.244.244.15
  • IP da VM SUSE11 = 10.244.244.10
  • IP do Windows XP = 10.244.244.5

No sistema SUSE, executei o ssh -ND 1080 <user>@<storage mgmt ip>, mas isso não resultou em conectividade ponta a ponta.

Eu estava executando um tcpdumpna mesma porta naquele momento e vi algumas tentativas de tráfego:

17:42:26.669953 IP 10.x.x.x.54214 > x.x.com.socks: S 3287828135:3287828135(0) win 5840 <mss 1460,sackOK,timestamp 6708230 0,nop,wscale 6>
17:42:26.669968 IP x.x.com.socks > 10.x.x.x.54214: R 0:0(0) ack 3287828136 win 0

Perguntas gerais:

  • Menos importante, o que eu fiz acima?
  • Mais importante ainda, como posso configurar um proxy SOCKS neste ambiente?

Responder1

A conexão SSH provavelmente está escutando apenas na interface de loopback (127.0.0.1) devido à configuração GatewayPorts na configuração SSHD. Seu comando funcionará se GatewayPorts estiver definido como sim.

netstat -an | grep LISTEN

mostrará se está escutando na interface pública. Você pode forçá-lo a ouvir na interface pública com

ssh -ND <ip address>:<port> <user>:<host>

mas somente se GatewayPorts permitir que você faça isso.

 GatewayPorts
     Specifies whether remote hosts are allowed to connect to ports
     forwarded for the client.  By default, sshd binds remote port
     forwardings to the loopback address.  This prevents other remote
     hosts from connecting to forwarded ports.  GatewayPorts can be
     used to specify that sshd should allow remote port forwardings to
     bind to non-loopback addresses, thus allowing other hosts to con-
     nect.  The argument may be "no" to force remote port forwardings
     to be available to the local host only, "yes" to force remote
     port forwardings to bind to the wildcard address, or
     "clientspecified" to allow the client to select the address to
     which the forwarding is bound.  The default is "no".

Meu palpite é que GatewayPorts está definido como não. Altere para sim (in /etc/ssh/sshd_config) e então seu comando ssh deverá funcionar inalterado, mas você pode usar o endereço IP da interface para ser específico, apenas por precaução.

NB: Além disso, você deve verificar se não possui regras de iptables bloqueando conexões de entrada.

Um proxy ssh funcionará, mas pode ser bastante lento (sobrecarga de criptografia). Você pode querer procurar um proxy de meias dedicado, comomeias.

informação relacionada