O binário ssh
que você usa quando se conecta a um servidor que executa o ssh suporta a execução de um proxy SOCKS pronto para uso, com o sinalizador -D
. Exemplo:
ssh -D 1337 -f -C -q -N user@remote -p 22
-
-D 1337
informassh
para iniciar um servidor SOCKS na porta 1337 localmente. -
-f
bifurca o processo em segundo plano. -
-C
Ativa a compactação. -
-q
ativa o "modo silencioso", já que o objetivo aqui é apenas para encapsular, não nos importamos com a saída do erro e tal. -
-N
informassh
que nenhum comando será enviado (-f
reclama se não especificarmos isso). -
-p
especifica qual porta usar; obviamente, isso é padronizado como 22, então a declaração acima é inútil, mas incluída para maior clareza.
Quando o servidor SOCKS está ativo e em execução, você só precisa se certificar de que seu aplicativo (geralmente um navegador da Web) esteja tentando se conectar ao proxy SOCKS local, e não à Internet comum.
No Firefox 29 (explicado aqui como exemplo), isso é obtido indo até o menu (as três salsichas no canto superior direito), seguido por Preferências > Avançado > Rede > (Conexão) > Configurações ... - certifique-se de preencher apenas o campo SOCKS! Como seu proxy está no mesmo sistema, você pode usar localhost
ou 127.0.0.1
para apontar para a porta em que você o configurou no mesmo sistema.
Se você precisar que suas solicitações de DNS também sejam encapsuladas (se elas não forem, suas pesquisas de DNS revelarão quais sites você está tentando visitar), basta verificar "DNS remoto" ou fazer toda essa configuração em código%. No último caso, abra-o e defina esses valores:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
Você também pode precisar desta configuração para excluir determinados domínios ou sites do encapsulamento:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
Esta resposta foi escrita da França, mas encapsulada via Suécia:)