先日、DNS over httpsについて書きました。端的に言うと「DNSクエリをhttpsに乗せて通信経路を暗号化してデータを保護する」ということになります。
前回はDNS over httpsの概要についてお話しました。今回は実際に使う際の注意点などについて述べてみることにします。
PCからの接続はどうするの?
通常は「アダプターのオプション」からアダプターのプロパティを表示させ、DNSサーバを設定します。ここでDNS over https対応サーバのIPアドレスを設定しても、DNSクエリは返ってきません。
当然ですね。通常のDNSクエリはDNSサーバの53/udpに対して送信します。これに対して、DNS over https対応サーバは443/tcpですから通信出来ません。
ではどうするか?という話になります。仮にPCのIPアドレスを192.168.1.1とします。
DNS over httpsサーバに関しては、CloudFlareのサーバ1.1.1.1を使うものとします。
(注:CloudFlareはパブリックDNSサーバを提供しています)
DNSクエリ送信のための流れは以下のようになります。
[PC] –> [PC内アプリ] –> [DNS over httpsサーバ]
192.168.1.1 192.168.1.1:53 1.1.1.1:443
DNS over httpsサーバと通信させるためにアプリをインストールして、一旦localhostの53/udpに転送してやり、そこからDNS over httpsサーバの443/tcpに飛ばしてやるという形になります。
CloudFlareのサイトでアプリを提供しているようです。
https://developers.cloudflare.com/argo-tunnel/downloads/
上記サイトから適切なファイルをダウンロードして設定ファイルを作成してやるといいようです。
windows側の設定としては、優先DNSを127.0.0.1に指定しておきます。
まだ実際に試してはいませんが、千石浩明さんが作成されたstoneというポートフォワーダーを使う手もありそうです。
他に自由に使えるsshサーバがあれば、ポートフォワードも可能ですね。
(DNS over httpsに関してはもう少々続きます)
https://www.netomo.ml/2018-05-28-dns-over-https-windows10/