コンテンツにスキップ

Tor経由のDNS

リゾルバにIPアドレスを開示したくない場合は、私たちのTorオニオンサービスを使用できます。Torネットワークを通じてDNSクエリを解決することは、リクエストを直接行うよりもはるかに高いレベルの匿名性を保証します。これにより、リゾルバがあなたのIPアドレスを見ることができなくなるだけでなく、ISPがドメイン名を解決しようとしたことを知ることも防ぎます。

このサービスについての詳細はこちらのブログ記事をお読みください。

Torクライアントの設定

他のすべてのDNSモードとこのモードの重要な違いは、パケットルーティングがもはやIPアドレスを使用せず、すべての接続がTorクライアントを通じてルーティングされなければならないことです。

始める前に、Torプロジェクトのウェブサイトにアクセスして、Torクライアントをダウンロードしてインストールしてください。Torブラウザを使用する場合、自動的に127.0.0.1:9150SOCKSプロキシが開始されます。

コマンドラインからTorを使用する場合は、次の構成ファイルを作成します:

SOCKSPort 9150

次に、次のコマンドでtorを実行できます:

Terminal window
tor -f tor.conf

また、Torブラウザを使用している場合は、リゾルバのアドレスにアクセスして、通常の1.1.1.1ページを見ることができます:

https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/

1.1.1.1のアドレスを忘れた場合は、cURLを使用して取得できます:

Terminal window
curl -sI https://tor.cloudflare-dns.com | grep -i alt-svc
alt-svc: h2="dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:443"; ma=315360000; persist=1

socatを使用したローカルDNSプロキシの設定

もちろん、すべてのDNSクライアントがTorクライアントへの接続をサポートしているわけではないので、隠れリゾルバに任意のDNS対応ソフトウェアを接続する最も簡単な方法は、ローカルでポートを転送することです。たとえば、socatを使用します。

TCP、TLS、およびHTTPS経由のDNS

隠れリゾルバは、TCPおよびTLS経由のDNSのためにTCPポート53および853でリッスンするように設定されています。Torプロキシを設定した後、次のsocatコマンドを特権ユーザーとして実行し、ポート番号を適切に置き換えます:

Terminal window
PORT=853; socat TCP4-LISTEN:${PORT},reuseaddr,fork SOCKS4A:127.0.0.1:dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:${PORT},socksport=9150

ここから、1.1.1.1の設定に関する通常のガイドに従うことができますが、常に1.1.1.1の代わりに127.0.0.1を使用する必要があります。別のデバイスからプロキシにアクセスする必要がある場合は、socatコマンド内の127.0.0.1をローカルIPアドレスに置き換えるだけです。

HTTPS経由のDNS

ブログ記事で説明されているように、隠れリゾルバを使用する私たちのお気に入りの方法は、HTTPS経由のDNS(DoH)を使用することです。これを設定するには:

  1. HTTPS経由のDNSクライアントを使用して1.1.1.1に接続するためのガイドに従ってcloudflaredをダウンロードします。

  2. Tor SOCKSプロキシを開始し、socatを使用してポートTCP:443をlocalhostに転送します:

Terminal window
socat TCP4-LISTEN:443,reuseaddr,fork SOCKS4A:127.0.0.1:dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion:443,socksport=9150
  1. マシンに.onionアドレスをlocalhostとして扱うよう指示します:
Terminal window
cat << EOF >> /etc/hosts
127.0.0.1 dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion
EOF
  1. 最後に、ローカルDNS over UDPデーモンを開始します:
Terminal window
cloudflared proxy-dns --upstream "https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Adding DNS upstream url="https://dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion/dns-query"
INFO[0000] Starting DNS over HTTPS proxy server addr="dns://localhost:53"
INFO[0000] Starting metrics server addr="127.0.0.1:35659"