Roteando todo o tráfego através do proxy de meias usando ssh -D


9

é uma maneira fácil de rotear todo o tráfego através de um proxy ssh com -D?

Posso configurar aplicativos específicos individuais para fazer isso, mas gostaria de uma configuração que roteie todo o tráfego na máquina. Obrigado pela ajuda!


Esqueci de dizer que estava no linux de maneira tão ideal, algo pelo qual posso rotear usando o iptables.
grm

Respostas:


10

No Linux:

  1. iptables -t nat -Uma saída! -d 127.0.0.0/8 -j REDIRECIONAR - até 1081
  2. Execute o programa que escuta 1081, recupera o endereço de destino real e não redirecionado, negocia com o servidor SOCKS e as retransmissões.

Eu escrevi esse programa para uso privado em Perl (qualidade do protótipo) e escrevi uma versão melhor em C. Ele ainda não foi publicado.

Atualização: agora publicada: http://github.com/vi/socksredirect/ Use prototype.pl. Envie-me um aviso se estiver interessado no desenvolvimento de uma versão melhor.

Atualização 2 Criou uma versão um pouco melhor: http://github.com/vi/tcpsocks e um patch para o Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS: A maior parte do meu tráfego (e às vezes alguns dos vizinhos) passa agora pelo tcpsocks-> ssh.


Projeto muito interessante Vi. Obrigado! Vou dar uma olhada nisso.
GRM

Provavelmente, você deve usar mais regras do iptables para selecionar qual tráfego você deseja fazer socksified. Eu uso "iptables -t nat -A OUTPUT -j QQQ", depois um monte de "iptables -t nat -A QQQ <checks> -j RETURN" e finalmente "iptables -t nat -A QQQ -p tcp -j REDIRECT - -para 1234 ".
Vi.

Obrigado! Fiquei me perguntando se isso era possível, estava na minha longa lista de idéias de projetos para tentar algum dia.
Tobu

@Tobu, eu implementei isso mais: agora existe um patch Socat ( github.com/vi/socksredirect/blob/master/… ) para este e também um programa tcpsocks leve ( github.com/vi/tcpsocks )
Vi .

1
@ Tanmay, Com um dispositivo tun, você verá apenas pacotes TCP e seria complicado decodificá-los em um fluxo de bytes (você precisaria de algo como slirp). com REDIRECT ou TPROXY, basta usar o habitual, recvque fornece dados decodificados sem cabeçalhos TCP.
Vi.


2

Talvez você deva considerar a configuração da VPN.


Isso não exigiria mais acesso no lado do gateway?
grm

Eu tenho uma configuração de servidor VPN (poptop) em casa no Ubuntu. E no trabalho, apenas uso o cliente VPN embutido no Windows para conectar-se a ele. Não incomode meu administrador de rede ou algo assim.
Espennilsen

1

Acho que não há maneira de fazer isso, mas talvez você possa experimentar programas como o FreeCap (windows), SocksCap (windows) ou proxychains (linux). Esses programas podem ajudá-lo um pouco.


0

Depende do sistema operacional que você está usando. Se você estiver no MacOS, existem configurações globais de proxy que devem ser usadas por todos os aplicativos, mesmo que haja quem não as honre (Firefox, por exemplo).


Com o MacOS em particular, é necessário verificar a confiança nas configurações globais de proxy.
chiggsy

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.