ssh -D 8080 my server
SOCKSプロキシの作成に使用しています。次にlocalhost:8080
、SOCKSプロキシとして使用するようにOS Xを構成しています。これを使用して、監視されずにインターネットにアクセスしています。
GoogleのDNSサーバー(8.8.8.8)を使用していますが、DNSクエリがSSHトンネルを通過していることを確認するにはどうすればよいですか?
ssh -D 8080 my server
SOCKSプロキシの作成に使用しています。次にlocalhost:8080
、SOCKSプロキシとして使用するようにOS Xを構成しています。これを使用して、監視されずにインターネットにアクセスしています。
GoogleのDNSサーバー(8.8.8.8)を使用していますが、DNSクエリがSSHトンネルを通過していることを確認するにはどうすればよいですか?
回答:
私は答えが少し遅れていることを知っていますが、参考のため、そしてまだ答えを探している人のために、
network.proxy.socks_remote_dns
firefox config のプロパティ(アドレスバーにabout:configと入力)をTRUE(プロパティをダブルクリックして値を切り替える)に設定して、ローカル/リモートsocks5プロキシでのDNSルックアップを有効にします。
PS:他のブラウザについてはわかりません:(
あちらで述べたように、あなたの システム全体のルックアップはトンネルされません。
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
pfoが言うように、SSHトンネルはTCPトラフィック専用であり、アプリケーションはSOCKSプロキシを認識する必要があります。
すべてをトンネル化する場合は、適切なVPNが必要です。OpenVPNのようなものを見てください。