CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。
CentOS 8 で BIND を使い、外部公開用の権威 DNS サーバーを構築する手順です。内部 DNS と異なり、公開 DNS では自分が管理するゾーンに対してだけ責任を持ち、再帰問い合わせを受けない構成にします。
公開 DNS はインターネットから問い合わせを受けるため、ゾーン情報の正確性だけでなく、recursion の無効化、zone transfer の制限、SOA / NS / MX の整合性が重要です。
BIND をインストールする
dnf install bind bind-utilsnamed.conf をバックアップする
cp -a /etc/named.conf /etc/named.conf.bak公開向け設定の例
options {
listen-on port 53 { any; };
allow-query { any; };
recursion no;
allow-transfer { none; };
version "";
};
zone "example.com" {
type master;
file "example.com.zone";
};公開ゾーンファイルを作成する
$TTL 172800
@ IN SOA ns1.example.com. root.example.com. (
2020010101 3600 300 360000 86400 )
@ IN NS ns1.example.com.
@ IN MX 10 mail.example.com.
@ IN A 203.0.113.10
ns1 IN A 203.0.113.10
mail IN A 203.0.113.20
www IN A 203.0.113.30設定を検証する
named-checkconf
named-checkzone example.com /var/named/example.com.zoneサービスを起動する
systemctl enable --now named
systemctl status named応答を確認する
dig @127.0.0.1 example.com SOA
dig @127.0.0.1 example.com NS
dig @127.0.0.1 www.example.com A
dig @127.0.0.1 www.google.com確認するポイント
- recursion が無効になっているか。
- SOA シリアルを更新時に上げているか。
- NS レコードとレジストラ側の委任が一致しているか。
- 内部名や内部 IP を公開ゾーンに混ぜていないか。
まとめ
公開向け BIND は、内部 DNS より役割を絞って考える必要があります。CentOS 8 の既存環境では、recursion、allow-transfer、SOA、NS、公開レコードを確認し、権威 DNS として必要な応答だけを返す構成になっているかを見ます。
関連する記事
- CentOS 8 BIND 内部 DNS サーバー構築 – forwarder と内部ゾーン
内部向け DNS と forwarder を整理します。 - CentOS 8 BIND 外部 DNS サーバー構築 – 公開ゾーンの基本
公開向け権威 DNS としての BIND を整理します。
参考書籍
参考
書籍
書籍
参考書籍
DNS がよくわかる教科書 第 2 版
DNS の基本、名前解決、権威 DNS、キャッシュ DNS、DNSSEC などを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 8 BIND 外部 DNS サーバー構築 – 公開ゾーンの基本

