Como configuro meu proxy SOCKS?

1

Eu sei como os servidores proxy trabalham dentro e fora na teoria, mas a prática está obtendo o melhor de mim.

Eu 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 do vCenter no qual eu posso implantar qualquer sistema operacional recomendado, mas simplificar aqui é a configuração:

  • Sistema de armazenamento mgmt IP = 10.244.244.15
  • IP da VM do SUSE11 = 10.244.244.10
  • IP do Windows XP = 10.244.244,5

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

Eu estava executando um tcpdump na mesma porta naquele momento e vi algum tráfego tentado:

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

Geral Qs:

  • Menos importante, o que eu fiz acima?
  • Mais importante, como posso configurar um proxy SOCKS neste ambiente?
por mbb 16.08.2011 / 15:21

1 resposta

1

A conexão SSH provavelmente está apenas ouvindo 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á ouvindo 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 o 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 o GatewayPorts está definido como o padrão de não. Altere-o para yes (em /etc/ssh/sshd_config ) e, em seguida, seu comando ssh deve funcionar inalterado, mas você pode usar o endereço IP da interface para ser específico apenas no caso.

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

Um proxy ssh funcionará, mas pode ser bem lento (sobrecarga de criptografia). Você pode querer olhar para um proxy de meias dedicado, como sSocks .

    
por 16.08.2011 / 21:25