config file

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

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

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

Releases · DNSCrypt/dnscrypt-proxy · GitHub

releaseから選ぶ1

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

releaseから選ぶ2

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

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

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

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

解凍後

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

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 を管理者権限で実行します。

サービス開始

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

タスクマネージャで確認

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

Windows10のネットワーク設定画面

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

interface

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

ipv4-dns

ipv6-dns

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

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

DNS leak test.com というサイトでDNSの接続テストを行うと、ISPの項目にCloudflareと表示されればOKです。

ipv6-dns

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

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

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

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