手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 BIND 外部 DNS サーバー構築 – 公開ゾーンの基本

CentOS 8 は既に通常の CentOS Linux としてはサポートが終了しています。このページは新規構築を推奨するものではなく、過去環境の保守、移行前調査、設定の読み解きに使うためのレガシー Linux 手順です。新規構築では、現在サポートされているディストリビューションを利用してください。

CentOS 8 サーバー管理ガイドへ戻る

CentOS 8 で BIND を使い、外部公開用の権威 DNS サーバーを構築する手順です。内部 DNS と異なり、公開 DNS では自分が管理するゾーンに対してだけ責任を持ち、再帰問い合わせを受けない構成にします。

公開 DNS はインターネットから問い合わせを受けるため、ゾーン情報の正確性だけでなく、recursion の無効化、zone transfer の制限、SOA / NS / MX の整合性が重要です。

BIND をインストールする

dnf install bind bind-utils

named.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 として必要な応答だけを返す構成になっているかを見ます。

関連する記事

参考書籍

参考
書籍
参考書籍
DNS がよくわかる教科書 第 2 版

DNS の基本、名前解決、権威 DNS、キャッシュ DNS、DNSSEC などを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

CentOS 8 BIND 外部 DNS サーバー構築 – 公開ゾーンの基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る