Se estou usando o SSH para um proxy SOCKS, as conexões DNS passam por ele?

11

Estou usando ssh -D 8080 my server para criar um proxy SOCKS. Estou configurando o OS X para usar localhost:8080 como um proxy SOCKS. Estou usando isso para acessar a internet sem ser monitorado.

Estou usando os servidores DNS do Google (8.8.8.8), mas como posso ter certeza de que as consultas DNS estão passando pelo túnel SSH?

    
por Jason Marzst 05.12.2011 / 17:22

5 respostas

19

Eu sei que a resposta é um pouco tarde, mas para a referência e para aqueles que ainda estão procurando a resposta,

Defina a propriedade network.proxy.socks_remote_dns na configuração do firefox (digite about: config na barra de endereços) como TRUE (clique duas vezes na propriedade para alternar o valor) para ativar pesquisas de DNS sobre o proxy socks5 local / remoto.

PS: Não tenho certeza sobre outros navegadores: (

    
por 06.12.2013 / 07:53
8

Se for um proxy SOCKS 5 e o programa cliente o suportar, o DNS passará pelo proxy. A maioria dos navegadores suporta DNS através de um proxy Socks 5, mas pode exigir configuração especial para isso.

Se sua meta for a privacidade na Web, você realmente deve usar algo como privoxy . O Privoxy limpará os cabeçalhos de suas solicitações da Web e garantirá que todo o tráfego, incluindo DNS, passe pelo proxy Socks 5. Execute privoxy localmente e você pode usar ssh para tunelar o tráfego de Socks 5.

    
por 05.12.2011 / 20:00
2

Você não pode fazer isso desde que o túnel SSH é apenas para conexões TCP / IP - o tráfego UDP não poderá atravessar esse túnel sem uma configuração especial. Basicamente, você precisa criar um fifo para fazer alguns truques com o netcat, conforme descrito aqui . Você pode usar o DNS do google na caixa do extremo remoto.

    
por 05.12.2011 / 17:30
1

Como mencionado por lá , seu as pesquisas em todo o sistema não são sintonizadas .

Se você deseja uma solução baseada em SSH, pode obter inspiração aqui ou use SSHuttle (por exemplo, mencionado aqui ). Existe um patch para encaminhar consultas DNS facilmente.

YMMV, mas tive sucesso com o seguinte:

#!/bin/bash
# Taken from http://stackoverflow.com/questions/4594319/shell-replace-cr-lf-by-comma
DNSSERVERS=$(nmcli d show | grep DNS | awk '{print $2}' | sed -e 'H;${x;s/\n/,/g;s/^,//;p;};d' )
sshuttle  \
    -vvv                \
     --dns-hosts ${DNSSERVERS}   \
    -r server   \
    254.254.254.254/32
    
por 20.10.2016 / 05:22
0

Como pfo diz, os túneis SSH são apenas para tráfego TCP, e o aplicativo precisa estar ciente dos proxies SOCKS.

Se você quer que tudo seja tunelado, você precisa de uma VPN adequada. Dê uma olhada em algo como OpenVPN .

    
por 05.12.2011 / 18:48