概要
dnscrypt-proxy は、問い合わせが端末やネットワークを出る前に暗号化できる ローカル DNS フォワーダです。Linux、macOS、Raspberry Pi、または Pi-hole の ようなツールの背後で、ブラウザ設定に依存せず暗号化アップストリームを使いたい 場合に適しています。
HostuxDNS は dnscrypt-proxy 互換の暗号化リゾルバを DNS スタンプとして公開して います。以下の例では DoQ と静的サーバー定義を使うため、公開リゾルバ一覧に依存 せず設定できます。
HostuxDNS の静的サーバーを宣言する
dnscrypt-proxy.toml を開き、[static] セクションに次の
ブロックを追加します。
[static.'hostuxdns-front1-v4']
stamp = 'sdns://BAcAAAAAAAAAEjQ2LjIyNi4xMDguMTczOjg1MwAOZG5zLmhvc3R1eC5uZXQ'
[static.'hostuxdns-front1-v6']
stamp = 'sdns://BAcAAAAAAAAAKVsyMDAxOjRiOTg6ZGMyOjQxOjIxNjozZWZmOmZlMTY6MTA4MF06ODUzAA5kbnMuaG9zdHV4Lm5ldA'
[static.'hostuxdns-front2-v4']
stamp = 'sdns://BAcAAAAAAAAAETQ2LjIyNi4xMDkuODI6ODUzAA5kbnMuaG9zdHV4Lm5ldA'
[static.'hostuxdns-front2-v6']
stamp = 'sdns://BAcAAAAAAAAAKVsyMDAxOjRiOTg6ZGMyOjQxOjIxNjozZWZmOmZlY2U6M2U1NV06ODUzAA5kbnMuaG9zdHV4Lm5ldA'
この 4 つのエントリで、HostuxDNS の 2 つのフロントエンドを IPv4 と IPv6 の両方で カバーできます。
メイン設定でサーバーを有効にする
同じファイルのメインセクションで、次を設定します。
server_names = ['hostuxdns-front1-v4', 'hostuxdns-front1-v6', 'hostuxdns-front2-v4', 'hostuxdns-front2-v6']
dnscrypt-proxy を別サービスのローカル上流として使う場合は、既定のローカル待受を そのまま使うか、たとえば次のように明示します。
listen_addresses = ['127.0.0.1:5053']
Pi-hole のようなツールは、問い合わせを 127.0.0.1:5053 に転送できます。
再起動して確認する
保存後にサービスを再起動します。
systemctl restart dnscrypt-proxy
その後、ローカル解決を確認します。
dig @127.0.0.1 -p 5053 example.com
Knot DNS を使って上流を直接確認することもできます。
kdig @dns.hostux.net example.com +quic
ローカル問い合わせが成功すれば、アプリケーションは dnscrypt-proxy をローカル リゾルバとして使い、暗号化アップストリームは HostuxDNS が担当します。
補足
- リゾルバ一覧
- 特定の上流を固定したい場合、静的スタンプは公開ソース一覧に依存しない最も確実な方法です。
- 広告ブロック
- HostuxDNS の
/adsフィルタリングエンドポイントは DoH パスであり、ここで使う DoQ スタンプからは利用できません。 - 公式ドキュメント
- dnscrypt-proxy ドキュメント