DNSCryptを用いて”DNS over HTTPS”をやってみる

結構前の記事で紹介しておきながら、詳しく説明していませんでした。

環境は64bit版のWindows10とします。

ダウンロード・解凍・はじめの設定

まず、Githubからリリース版をDLします。

https://github.com/DNSCrypt/dnscrypt-proxy/releases

今は2.0.42が最新版みたいなので、アセットからWindowsの64bit版を探し、ダウンロードします。下の方にあります。

いろんなアーキテクチャで動作するようですので、MacやLinuxでも大丈夫でしょう。

zipがDLされますので、解凍しましょう。気になる方はminisigファイルもDLしてチェックしましょう。飛ばします。

インストールは不要ですが、exeファイルで動作するのでフォルダの場所は固定するべきですので、解凍先はデスクトップ以外の場所がいいと思います。

解凍すると”x64″フォルダの中に画像のようなファイルが存在します。

そのなかの、”example-dnscrypt-proxy.toml”を同じ場所にコピーして名前を”dnscrypt-proxy.toml”に変更します。

その後、好きなエディタで”dnscrypt-proxy.toml”を開き、以下を編集します。

接続先の設定

# server_names = ['scaleway-fr', 'google', 'yandex', 'cloudflare']

シャープを消し、コメントを解除します。さらに、Googleを使うのが怖い人はcloudflareだけにしましょう。その他のDNSサーバへのつなぎ方はわかりません。

server_names = ['cloudflare']

ローカルDNSサーバの設定

このアプリケーションは自分のPCにDNSサーバを構築して、DoHを実現します。デフォルトではIPv4しかつながらないようになっていますが、IPv6が使える環境ならば、有効にしておきましょう。

listen_addresses = ['127.0.0.1:53']

listen_addresses = ['127.0.0.1:53', '[::1]:53']

IPv6を有効化するために次の設定も有効化します。

# Use servers reachable over IPv6 -- Do not enable if you don't have IPv6 connectivity
ipv6_servers = false

ipv6_servers = true

にしましょう。

もちろん、IPv4しかない場合はデフォルトでOKです。

基本的にはこの設定でDoHを実現することができます。ただ、大学や会社のプロキシがある場合は、以下の設定もしておきましょう。

#proxy = 'socks5://127.0.0.1:9050'

という項目があるので、シャープを消して、それぞれの組織の設定にします。

HTTP_PROXYを利用している環境下の場合はhttp_proxyの方の設定をしましょう。

サービスのインストール

DoHで通信するとき、いちいち”dnscrypt-proxy.exe”を使って起動するのは面倒です。開発者は優しいので自動起動のバッチファイルを用意していますので、実行しましょう。

設定ファイルを変更して、初めて実行するときは”service-install.bat”を管理者権限で実行します。

タスクマネージャーで確認するときちんと動作していることがわかります。

次に、タスクバーのインターネット設定の項目を右クリックしネットワークのインターネットの設定画面を出します。

アダプタの設定を開き、各自がいつも利用しているNICを選びダブルクリックします。

プロパティからTCP/IPv4を選び、基本的には全部自動になっていると思いますので、DNSサーバーを次のように設定します。

同じようにIPv6の方も設定します。

これで普通に名前解決ができれば、無事DNS over HTTPS化が完了しました。

動作結果をWiresharkで見せたかったのですが、HTTPS化されていますので違いがわからず断念しました。確認したい方は、DNScrypt有効化前に53番ポートをキャプチャしておき、有効化後は53番にパケットが流れていないことが確認できると思います。

設定を変えるとき・DoHをやめたいとき

設定ファイルをいじって、新しい設定で動かしたいときは”service-restart.bat”を実行します。

止めたいときは”service-uninstall.bat”を実行すると、自動起動からも削除されます。

その場合はIPv4、IPv6のDNS設定もデフォルトに戻しましょう。

1件のコメント

  1. 記事化ありがとうございます。
    因みに、これをやったあとに、Windows10をバージョン2004にアップデートすると、「インターネットアクセスなし」状態になります。それなのにインターネットに接続出来るという奇妙な事が起こります。
    繋がるので問題無いっちゃ問題ありませんが、アイコンがアクセス不可状態なのは気持ち悪いものです。

コメントは受け付けていません。