CloudflareのDNS(1.1.1.1)をDNS over HTTPS(DoH)で使う
CloudFlare が、ユーザーの IP アドレスを記録しないことをうたう DNS サービス 1.1.1.1 の提供を開始しました。この DNS サービスは DNS over HTTPS (DoH) に対応しているということで、Mac OS (10.11.6 / El Capitan) で 1.1.1.1 を DoH 経由で使用するための設定方法をメモしておきます。 なお、エンジニアな方はRunning a DNS over HTTPS Client(英語)を読んだ方が正確です。
環境
Mac OS 10.11.6 (El Capitan)
Homebrew インストール済み
インストール
1$ brew install cloudflare/cloudflare/cloudflared
DNS Proxy デーモンの動作確認
1$ sudo cloudflared proxy-dns
2
3INFO[0000] Adding DNS upstream url="https://cloudflare-dns.com/dns-query"
4INFO[0000] Starting metrics server addr="127.0.0.1:49312"
5INFO[0000] Starting DNS over HTTPS proxy server addr="dns://localhost:53"
上記の表示がでていれば、デーモンの起動は問題ありません。
続いて、新たなターミナルを起動して、インストールした Cloudflare の DNS Proxy を用いて、正しく名前解決出来るか確認します。
1$ dig +short @127.0.0.1 cloudflare.com AAAA
2
32400:cb00:2048:1::c629:d6a2
42400:cb00:2048:1::c629:d7a2
上記の通りなら問題ありません。
設定ファイルの作成
デーモンの動作確認で起動した cloudflared proxy-dns を Ctrl+C で終了してから
1$ mkdir -p /usr/local/etc/cloudflared
1$ cat << EOF > /usr/local/etc/cloudflared/config.yaml
2proxy-dns: true
3proxy-dns-upstream:
4 - https://1.1.1.1/dns-query
5 - https://1.0.0.1/dns-query
6EOF
以上で設定ファイルの作成は完了です。
サービスのインストール
1$ sudo cloudflared service install
2
3INFO[0000] Applied configuration from /usr/local/etc/cloudflared/config.yaml
4INFO[0000] Installing Argo Tunnel as an user launch agent
5INFO[0000] Outputs are logged in /tmp/com.cloudflare.cloudflared.out.log and /tmp/com.cloudflare.cloudflared.err.log
上記の通りなら問題ありません。
Mac OS のネットワーク設定で インストールした DNS Proxy を指定する
- アップルメニュー → システム環境設定 → ネットワークを開く
- 使用しているネットワーク( Wi-Fi や Thunderbolt Ethernet など)を選択し、詳細ボタンを押す
- DNS タブを開く
- DNS サーバに 127.0.0.1 を入力し、OK で閉じる
- ネットワーク設定も 適用 → OK で閉じる
以上で設定は全て完了です。
システムを再起動し、ブラウジング、メールなどに問題がなければ正常に動作しています。
お疲れさまでした。