この記事を作った動機
named が名前解決時に参照する上流の DNS サーバのアクセスについて、SSL/TLSの暗号化を適用する設定をしたので、それについて記録したい。前提としてすでに named の設定が済んでいて通常の非暗号化状態の8.8.8.8#53などにおいて、動作していることを想定する。
設定方法
/etc/named.confを編集する
tls tls-forwarder
optionsブロックの外に記述するtls [設定名]からなる、TLS 設定である。
ca-file
デフォルトでインストールされている証明書を使っている。remote-hostname
DoH 先の DNS サーバのホスト名を設定する。今回は Google DNS を使うので、dns.googleとした。
forwarders
[DNSサーバのIP] port [DoH先のポート番号] tls [tls設定名]という形で設定する。通常の DoH ポート番号は853であり、HTTPSの443ではない。
設定例
tls tls-forwarder {
ca-file "/etc/ssl/certs/ca-certificates.crt";
remote-hostname "dns.google";
};
...
options {
...
forwarders {
8.8.8.8 port 853 tls tls-forwarder;
8.8.4.4 port 853 tls tls-forwarder;
};
...
};
...
動作確認
tcpdumpを使って確認する。以下は Google DNS が動いている様子を確認するために、8.8.8.8 の IP のホストの 853 番にアクセスしているか確認する例である。
sudo tcpdump -i [named自体が動いているサーバのNICインターフェース名] port 853 and host 8.8.8.8
# ...
# 22:45:41.875687 IP HOSTNAME.37559 > dns.google.domain-s: Flags [P.], seq 1855:1935, ack 5339, win 66, options [nop,nop,TS val 2014914753 ecr 370418067], length 80
# 22:45:41.875766 IP HOSTNAME.37559 > dns.google.domain-s: Flags [P.], seq 1935:2007, ack 5339, win 66, options [nop,nop,TS val 2014914753 ecr 370418067], length 72
# 22:45:41.894084 IP dns.google.domain-s > HOSTNAME.37559: Flags [.], ack 2007, win 1043, options [nop,nop,TS val 370418089 ecr 2014914753], length 0
# 22:45:41.895451 IP dns.google.domain-s > HOSTNAME.37559: Flags [.], seq 5339:6547, ack 2007, win 1043, options [nop,nop,TS val 370418090 ecr 2014914753], length 1208
# 22:45:41.895498 IP dns.google.domain-s > HOSTNAME.37559: Flags [P.], seq 6547:6691, ack 2007, win 1043, options [nop,nop,TS val 370418090 ecr 2014914753], length 144
# 22:45:41.895553 IP HOSTNAME.37559 > dns.google.domain-s: Flags [.], ack 6691, win 66, options [nop,nop,TS val 2014914773 ecr 370418090], length 0
# ...
参考にしたサイトとか
- Google Gemini
https://gemini.google.com/app (2026年2月28日) - BIND - ArchWiki
https://wiki.archlinux.jp/index.php/BIND (2026年2月28日) - 8 . Configuration Reference — BIND 9 9.20.20 documentation
https://bind9.readthedocs.io/en/v9.20.20/reference.html#namedconf-statement-forwarders (2026年2月28日) - 8 . Configuration Reference — BIND 9 9.20.20 documentation
https://bind9.readthedocs.io/en/v9.20.20/reference.html#namedconf-statement-tls (2026年2月28日) - DNS-over-HTTPS (DoH) | Public DNS | Google for Developers
https://developers.google.com/speed/public-dns/docs/doh (2026年2月28日)