SOCKSプロキシにSSHを使用している場合、DNS接続はそれを経由しますか?


14

ssh -D 8080 my serverSOCKSプロキシの作成に使用しています。次にlocalhost:8080、SOCKSプロキシとして使用するようにOS Xを構成しています。これを使用して、監視されずにインターネットにアクセスしています。

GoogleのDNSサーバー(8.8.8.8)を使用していますが、DNSクエリがSSHトンネルを通過していることを確認するにはどうすればよいですか?


1
「監視されない」というのは幻想です
machineaddict

回答:


22

私は答えが少し遅れていることを知っていますが、参考のため、そしてまだ答えを探している人のために、

network.proxy.socks_remote_dnsfirefox config のプロパティ(アドレスバーにabout:configと入力)をTRUE(プロパティをダブルクリックして値を切り替える)に設定して、ローカル/リモートsocks5プロキシでのDNSルックアップを有効にします。

PS:他のブラウザについてはわかりません:(


1
UIを好む人のために、これは[設定]→[詳細設定]→[ネットワーク]タブ→[設定]ボタン([接続])→[SOCKS v5を使用する場合のプロキシDNS]にあります。
-jwd

DNSがHTTPのプロキシを経由しないことに気づきましたが、HTTPSでは機能します。これはどのようになりますか?これは設計どおりですか?(私はFirefoxを使用しています)
ユージンD.グベンコフ

8

それはだ場合はSOCKS 5プロキシ、およびクライアントプログラムがサポートして、DNSプロキシを経由します。ほとんどのブラウザは、Socks 5プロキシを介してDNSをサポートしていますが、そのためには特別な設定が必要になる場合があります。

あなたの目標がウェブのプライバシーであるなら、本当にprivoxyのようなものを使うべきです。PrivoxyはWebリクエストのヘッダーをクレンジングし、DNSを含むすべてのトラフィックがSocks 5プロキシを通過するようにします。privoxyローカルで実行するsshと、Socks 5トラフィックのトンネリングに使用できます。


2

SSHトンネルはTCP / IP接続専用であるため、箱から出してすぐにそれを行うことはできません。UDPトラフィックは特別な設定なしではそのトンネルを通過できません。基本的に、ここで説明されているように、netcatでトリックを行うためにfifoを作成する必要があります。その後、遠端ボックスからGoogleのDNSを使用できます。


1

あちらで述べたよう、あなたの システム全体のルックアップはトンネルされません

SSHベースのソリューションが必要な場合は、ここからインスピレーションを得る か、またはSSHuttleを使用でき ます(たとえば、 ここで説明します)。DNSクエリを簡単に転送するためのパッチがあります。

YMMV、しかし、私は以下で成功しました:

#!/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

0

pfoが言うように、SSHトンネルはTCPトラフィック専用であり、アプリケーションはSOCKSプロキシを認識する必要があります。

すべてをトンネル化する場合は、適切なVPNが必要です。OpenVPNのようなものを見てください。


0

アプリケーションによって異なります。たとえば、Firefoxは、ホスト名を解決せずにSOCKSプロキシに送信します。この場合、プライバシーのために何もする必要はありません。Wiresharkで確認できます。

PS。SOCKS5プロキシを使用していると仮定します。SOCKS4はホスト名をサポートしていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.