マスターサーバーの IP を一か所で管理する (CentOS 4.5): Linux の使い方
スレーブサーバーを設定する
CentOS 4.5 では DNS サーバーとして BIND が採用されています。
スレーブサーバー(セカンダリー DNS)を構築する場合において、以前に セカンダリ DNS サーバーを構築する のところでマスターサーバーの IP アドレスを "masters" を使って冒頭に定義しておく方法を記していましたけれど、この方法で CentOS 4.5 の BIND 9.2.4 を設定しようとしてみたところ、"unknown option 'masters'" と言われて設定できませんでした。
かといって各ゾーンごとに "masters" を指定していては、IP アドレスが変更となった場合などに、管理が大変になり、また設定ミスにもつながってしまいます。
そこで、今回は "include" を使用して、マスターサーバーの IP を一か所で管理する方法について、記してみたいと思います。
まず、"/var/named/conf" ディレクトリーを作成して、その中に "masters.conf" ファイルを次のような内容で作成します。
masters
{
192.168.0.3;
};
このようにして、あらかじめ "masters" の記載だけを別のファイルに持たせておきます。
あとはゾーン設定の中で、次のようにして "masters.conf" ファイルをインクルードしてあげます。
zone "domain.xxx.xx.jp"
{
type slave;
file "slaves/domain.xxx.xx.jp";
include "/var/named/conf/masters.conf";
};
こうすることで、もしマスターサーバーの IP アドレスが変更となっても、各ゾーンの "masters" をひとつずつ修正しなくても、"masters.conf" ファイル内の IP アドレスを変更することで対応できるようになります。
なお、CentOS 5.5 の BIND 9.3.6 では "masters" をゾーン定義の外で指定して、マスターサーバーの IP アドレスを一か所で管理できるようでした。
その辺りについては、セカンダリ DNS サーバーを構築する の中でお話ししていますので、必要に応じてそちらも参考にしてみてください。