CentOS 5 で BIND を使い、内部 DNS サーバーを構築する時の基本を確認します。現在の新規構築で CentOS 5 を選ぶべきではありませんが、古い環境の読み解きや移行前調査では、named、chroot、ゾーンファイル、再帰問い合わせの範囲を分けて理解する必要があります。
CentOS 5 における BIND の位置づけ
BIND は DNS サーバーの代表的な実装です。CentOS 5 時代の構成では、named を chroot 環境で動かし、内部向けの正引き・逆引きゾーンを管理する構成がよく使われていました。
- 内部ホスト名を管理する権威 DNS として使う
- 社内向けの再帰 DNS / キャッシュ DNS として使う
- 正引きゾーンと逆引きゾーンを分けて管理する
- 問い合わせを許可するネットワークを限定する
重要なのは、BIND を単なる名前解決の箱として扱わず、権威 DNS と再帰 DNS の役割を分けて確認することです。内部 DNS であっても、再帰問い合わせの開放範囲を誤ると踏み台的な挙動になります。
インストールとサービス確認
CentOS 5 では bind と bind-chroot を入れて、named サービスとして起動します。
yum install bind bind-chroot
chkconfig named on
service named start
service named statusbind-chroot を使う場合、実際に参照される設定ファイルの場所が通常の /etc/named.conf と chroot 配下で分かれて見えることがあります。古い環境を調査する時は、どちらが実体として使われているかを確認します。
rpm -qa | grep bind
ls -l /etc/named.conf
ls -l /var/named/chroot/etc/named.conf
ps aux | grep [n]amednamed.conf の基本
named.conf では、待ち受けアドレス、問い合わせを許可するネットワーク、ゾーン定義を確認します。内部 DNS であれば、allow-query や allow-recursion を内部ネットワークに限定するのが基本です。
options {
directory "/var/named";
listen-on port 53 { 127.0.0.1; 192.168.1.10; };
allow-query { localhost; 192.168.1.0/24; };
allow-recursion { localhost; 192.168.1.0/24; };
};
zone "example.local" IN {
type master;
file "example.local.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.rev";
};この例は内部向けの単純な構成です。外部公開 DNS と内部 DNS を同じ考え方で扱うと危険なので、公開範囲、再帰可否、転送設定を分けて見ます。
ゾーンファイルの例
正引きゾーンでは、SOA、NS、A レコードを定義します。古い環境ではホスト名管理がゾーンファイルに直接書かれていることが多いため、変更前に必ずバックアップを取ります。
$TTL 86400
@ IN SOA ns1.example.local. root.example.local. (
2026062701 ; serial
3600 ; refresh
900 ; retry
604800 ; expire
86400 ) ; minimum
IN NS ns1.example.local.
ns1 IN A 192.168.1.10
web IN A 192.168.1.20
db IN A 192.168.1.30逆引きゾーンも合わせて整備しておくと、ログや監視ツールで名前解決しやすくなります。サーバー運用では、正引きだけでなく逆引きが運用上の手掛かりになることがあります。
$TTL 86400
@ IN SOA ns1.example.local. root.example.local. (
2026062701
3600
900
604800
86400 )
IN NS ns1.example.local.
10 IN PTR ns1.example.local.
20 IN PTR web.example.local.
30 IN PTR db.example.local.設定確認と名前解決テスト
BIND は設定ファイルとゾーンファイルの文法確認ができます。サービスを再起動する前に、named-checkconf と named-checkzone で確認します。
named-checkconf /etc/named.conf
named-checkzone example.local /var/named/example.local.zone
named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.rev
service named reloadクライアントからは dig で正引き、逆引き、権威応答を確認します。
dig @192.168.1.10 web.example.local
dig @192.168.1.10 -x 192.168.1.20
dig @192.168.1.10 example.local SOAまとめ
CentOS 5 の BIND 構築では、chroot 配下の実体、named.conf、ゾーンファイル、問い合わせ制限を分けて確認することが重要です。古い構成では動いていること自体が前提になりがちですが、DNS は内部システム全体の依存先になるため、移行時にはゾーン、逆引き、再帰問い合わせ範囲を必ず棚卸しします。
関連する記事
- CentOS 5 サーバー管理ガイド
CentOS 5 系の記事を役割別に確認できるハブページです。 - CentOS 5 hosts ファイルの設定
DNS に頼らないローカル名前解決の基本を確認します。 - CentOS 5 ISC DHCP サーバー構築
DHCP と DNS の役割分担を確認します。
参考書籍
DNS の名前解決、権威 DNS、キャッシュ DNS、ゾーン設計を体系的に確認したい場合の参考書籍です。
Amazon で見る
