CentOS 8 で BIND を使い、外部公開用の権威 DNS サーバーを構築する手順です。外部向け DNS では、再帰問い合わせを無効にし、自分が管理するゾーンだけに責任を持つ構成にします。
コマンドはコピペしやすい形を優先しています。既存設定を変更する場合は、バックアップを取ってから適用します。
この手順は CentOS 8 設定マニュアル の一部として整理しています。
参考書籍
参考書籍
DNS がよくわかる教科書 第 2 版
DNS の基本、名前解決、権威 DNS、キャッシュ DNS、DNSSEC などを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
インストール
dnf install bindゾーンディレクトリ
mkdir -p /var/named/myzone
chmod 770 /var/named/myzone
chgrp named /var/named/myzonenamed.conf
cp -a /etc/named.conf /etc/named.conf.bak
cat <<'EOF'
# /etc/named.conf の該当項目を以下のように整理する
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
allow-query { any; };
recursion no;
allow-update { none; };
allow-transfer { none; };
notify no;
};
zone "si1230.com" {
type master;
file "myzone/si1230.com.zone";
};
EOF公開ゾーンファイル
cat <<'EOF' > /var/named/myzone/si1230.com.zone
$TTL 172800
@ IN SOA dns.si1230.com. root.si1230.com. (
2021042701
3600
300
360000
86400
)
@ IN NS dns.si1230.com.
@ IN MX 10 smtp.si1230.com.
@ IN A xxx.xxx.xxx.xxx
@ IN TXT "[TXT Record]"
dns IN A xxx.xxx.xxx.xxx
smtp IN A xxx.xxx.xxx.xxx
www IN A xxx.xxx.xxx.xxx
EOF
chmod 640 /var/named/myzone/*
chgrp named /var/named/myzone/*起動と確認
named-checkconf /etc/named.conf
named-checkzone si1230.com /var/named/myzone/si1230.com.zone
systemctl enable --now named
dig @127.0.0.1 si1230.com SOA確認するポイント
- 外部向けで recursion が有効になっていないか。
- SOA serial を更新時に増やしているか。
- 53/udp と 53/tcp の到達性を確認する。
- allow-transfer を必要な相手に限定する。
この手順は CentOS 8 設定マニュアル の一部として整理しています。
CentOS 8 BIND 外部 DNS サーバー構築 – 公開ゾーンの基本




