環境は64bit版のWindows10とします。
ダウンロード・解凍・はじめの設定
まず、Githubからリリース版をDLします。
Releases · DNSCrypt/dnscrypt-proxy · GitHub
今は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だけにしましょう。
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化が完了しました。
DNS leak test.com というサイトでDNSの接続テストを行うと、ISPの項目にCloudflareと表示されればOKです。
設定を変えるとき・DoHをやめたいとき
設定ファイルを編集して、新しい設定で動かしたいときは service-restart.bat
を実行します。
止めたいときは service-uninstall.bat
を実行すると、自動起動からも削除されます。
その場合はIPv4、IPv6のDNS設定もデフォルトに戻しましょう。