手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 7 BIND 内部 DNS サーバー構築 – forwarder と内部ゾーンの基本

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

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

CentOS 7 で BIND を使い、内部ネットワーク向け DNS サーバーを構築する手順です。ここでは内部ゾーンを持ちつつ、外部名前解決は上位 DNS へ forward する構成として整理します。

内部 DNS では、権威 DNS とキャッシュ / フォワーダの役割が混ざりやすくなります。どの名前を自分で管理し、どの名前を外へ問い合わせるのかを分けて考えることが重要です。

内部 DNS の役割を整理する

  • 内部ホスト名や内部サービス名を管理する。
  • 外部ドメインは上位 DNS へ転送する。
  • 内部ネットワークからの問い合わせだけを受ける構成にする。
  • 公開 DNS と同じ考え方で recursion を開放しない。

BIND をインストールする

yum -y install bind-chroot

ゾーンファイル用ディレクトリを作成する

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

named.conf の基本設定を確認する

named.conf は既存値が多く、環境差も出やすいファイルです。バックアップを取ったうえで、内部向けの listen、allow-query、forwarders、管理ゾーンを確認します。

cp -a /etc/named.conf /etc/named.conf.bak
options {
    listen-on port 53 { any; };
    allow-query { 10.0.0.0/24; localhost; };
    recursion yes;
    forward only;
    forwarders { 10.0.0.1; };
    allow-update { none; };
    allow-transfer { none; };
    notify no;
    version "";
};

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

zone "0.0.10.in-addr.arpa" {
    type master;
    file "myzone/0.0.10.in-addr.arpa";
};

IPv4 のみで起動する場合

古い検証環境や既存構成では IPv4 のみで BIND を動かしている場合があります。IPv6 を使わない前提なら、起動オプションも明示します。

cp -a /etc/sysconfig/named /etc/sysconfig/named.bak
cat >> /etc/sysconfig/named <<'EOF'
OPTIONS="-4"
EOF

正引きゾーンを作成する

$TTL 86400
@   IN SOA ns1.si1230.com. root.si1230.com. (
        2020010101
        3600
        900
        604800
        86400 )

    IN NS  ns1.si1230.com.
ns1 IN A   10.0.0.10
www IN A   10.0.0.20

逆引きゾーンを作成する

$TTL 86400
@   IN SOA ns1.si1230.com. root.si1230.com. (
        2020010101
        3600
        900
        604800
        86400 )

    IN NS  ns1.si1230.com.
10  IN PTR ns1.si1230.com.
20  IN PTR www.si1230.com.

設定を検証して起動する

named-checkconf
named-checkzone si1230.com /var/named/myzone/si1230.com.zone
named-checkzone 0.0.10.in-addr.arpa /var/named/myzone/0.0.10.in-addr.arpa
systemctl enable named
systemctl restart named
systemctl status named

名前解決を確認する

dig @127.0.0.1 www.si1230.com
dig @127.0.0.1 -x 10.0.0.20
dig @127.0.0.1 www.example.com

まとめ

内部 DNS は、内部ゾーンの管理と外部名前解決の転送を同じ named で扱うことがあります。その場合でも、自分が権威を持つ名前と、forwarder に任せる名前を分けて読むことが重要です。CentOS 7 の既存環境では、allow-query と recursion の範囲を特に確認します。

関連する記事

参考書籍

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

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

Amazon で見る

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

CentOS 7 BIND 内部 DNS サーバー構築 – forwarder と内部ゾーンの基本

CentOS 7 BIND 内部 DNS サーバー構築 – forwarder と内部ゾーンの基本」への1件のフィードバック

コメントを残す

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

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

トップへ戻る