BIND (named) 自体のクエリ先に DoH (DNS-over-HTTPS) を反映する

この記事を作った動機 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 番にアクセスしているか確認する例である。 ...

February 28, 2026

named のキャッシュを消す

この記事を作った動機 ある時、ChatGPT を使っていて、うまく設定が読み込めないという時があったときにそれについて調べてみたら、DNS 周りのキャッシュがおかしい説というのがあり、named のキャッシュを消そうとしてやり方がわからなかったので、自分用に記録するだけ。 設定する 少なくとも私の環境では、最初から rndc コマンドは使えるようになっておらず、設定が必要だった。rndc-confgen を使うことで、コンフィグは生成できるので、出てきたものをそれぞれ、named.conf と rndc.conf に貼り付ければとりあえずは動いた。 まだ設定がないときの rndc コマンドの挙動 sudo rndc status # rndc: no server specified and no default rndc status -s localhost # rndc: no server specified and no default rndc-confgen で設定を生成する # sudo rndc-confgen [sudo] share のパスワード: # Start of rndc.conf key "rndc-key" { algorithm hmac-sha256; secret "secretString"; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; # End of rndc.conf # Use with the following in named.conf, adjusting the allow list as needed: # key "rndc-key" { # algorithm hmac-sha256; # secret "secretString"; # }; # # controls { # inet 127.0.0.1 port 953 # allow { 127.0.0.1; } keys { "rndc-key"; }; # }; # End of named.conf 設定を貼り付ける /etc/rndc.conf (なければ作成する) key "rndc-key" { algorithm hmac-sha256; secret "secretString"; }; options { default-key "rndc-key"; default-server 127.0.0.1; default-port 953; }; /etc/named.conf (追記する) key "rndc-key" { algorithm hmac-sha256; secret "secretString"; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; systemd で named を再起動する sudo systemctl restart named キャッシュを削除する sudo rndc flush 参考にしたサイトとか rndc 鍵 (rndc.key) の作成 - hijiri-0404’s blog https://hijiri0404.hatenablog.com/entry/2015/03/05/000245 (2025年10月2日) domain name system - DNS on Redhat - rdnc: no server specified and no default - Server Fault https://serverfault.com/questions/231749/dns-on-redhat-rdnc-no-server-specified-and-no-default (2025年10月2日) BIND のキャッシュを消去する (CentOS 5.5): Linux の使い方 https://ez-net.jp/article/28/KPrxdINA/6oV8mNixA7et/ (2025年10月2日)

October 2, 2025