手当たり次第に書くんだ

飽きっぽいのは本能

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

CentOS 7 で BIND を使い、外部公開用の権威 DNS サーバーを構築する手順です。内部 DNS と異なり、外部向けでは recursion を無効にし、自分が管理するゾーンだけに責任を持つ構成にします。

コマンドはコピペしやすい形を優先しています。ただし、BIND、OpenLDAP、Samba は既存値との重複や環境差が出やすいため、長大な設定ファイルはバックアップを取り、設定断片として確認して反映します。

この手順は CentOS 7 設定マニュアル の一部として整理しています。

参考書籍
参考書籍

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

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

Amazon で見る

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

インストール

yum install bind-chroot

ゾーンファイルディレクトリ

mkdir -p /var/named/myzone
chmod 770 /var/named/myzone
chgrp named /var/named/myzone

named.conf の設定

公開 DNS では、再帰問い合わせを受けないことが重要です。named.conf は設定断片として確認して反映します。

cp -a /etc/named.conf /etc/named.conf.bak

cat <<'EOF'
# /etc/named.conf の該当項目を以下のように整理する
options {
    listen-on port 53 { any; };
    allow-query { any; };
    recursion no;
    version "";
    allow-update { none; };
    allow-transfer { none; };
    notify no;
};

zone "mydomain.com" {
    type master;
    file "myzone/mydomain.com.zone";
};
EOF

IPv4 のみで起動する設定

cp -a /etc/sysconfig/named /etc/sysconfig/named.bak

cat <<'EOF' >> /etc/sysconfig/named
OPTIONS="-4"
EOF

公開ゾーンファイル

cat <<'EOF' > /var/named/myzone/mydomain.com.zone
$TTL 172800
@ IN SOA dns.mydomain.com. root.mydomain.com. (
    2019010101
    3600
    300
    360000
    86400
)
@    IN NS dns.mydomain.com.
@    IN MX 10 mail.mydomain.com.
@    IN A xxx.xxx.xxx.xxx
mail IN A xxx.xxx.xxx.xxx
dns  IN A xxx.xxx.xxx.xxx
www  IN A xxx.xxx.xxx.xxx
EOF

権限と起動

chmod 640 /var/named/myzone/*
chgrp named /var/named/myzone/*

systemctl enable --now named-chroot.service
systemctl status named-chroot.service

確認

named-checkconf /etc/named.conf
named-checkzone mydomain.com /var/named/myzone/mydomain.com.zone
dig @127.0.0.1 mydomain.com SOA
dig @127.0.0.1 www.mydomain.com A

確認するポイント

  • 公開 DNS で recursion が有効になっていないか。
  • allow-transfer を必要な相手だけに制限しているか。
  • SOA serial を更新時に増やしているか。
  • 外部から 53/udp と 53/tcp に到達できるか。

外部 DNS は公開面そのものです。内部 DNS のようなフォワーダ用途と混ぜず、権威 DNS として必要な応答だけを返す構成にします。

この手順は CentOS 7 設定マニュアル の一部として整理しています。

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

コメントを残す

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

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

トップへ戻る