CentOSにDNSを導入する。

職場のサーバに、DNSを導入したので、その手続きを記述する。
CentOS 5を普通に全てインストールすれば、必要なbind bind-chrootがインストールされているので、
新たにインストールする必要はない。
http://kb.xpressone.net/897
を全力に参考にした。というか一緒のことをしている。

設定ファイル作成

/var/named/chroot/etc/ に bind の設定ファイルである named.conf を作成する。

options {
directory “/var/named”; ← ディレクトリの指定
recursion no; ← 再起クエリを無効にする
version “unknown” ← バージョンの隠匿
};

自動起動設定

サーバー再起動時に、自動的に bind が起動するための設定を行なう。

# chkconfig named on
# chkconfig –list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#

サービス起動

service named start
# Starting named: [ OK ]
# ps waux |grep named ← bind のプロセスが正しく起動しているかを確認します。
named 3483 0.0 1.0 38136 2668 ? Ssl 05:27 0:00 /usr/sbin/named -u named -t /var/named/chroot

ログの確認

less /var/log/messages

ゾーンファイル作成

とりあえず、dn1.miisrv.jpとしてみた。メールアドレスは、a@me.com ならば、a.me.com.
と、@を.に、最後にも.をつける。

#vi /var/named/chroot/var/named/miisrv.jp.zone

$TTL 86400 ; 1 day
@       IN      SOA     dns1.miisrv.jp. a.me.com. (
                        2010080910 ; serial
                        10800;refresh (3 hours)
                        3600 ;retry (1 hour )
                        1209600 ; expire (2 weeks )
                        86400 ; minimum (1 day )
                        )
miisrv.jp.      IN      NS dns1.miisrv.jp.
miisrv.jp.      IN      A 10.156.3.201

ファイル所有権の変更

# chown named.named /var/named/chroot/var/named/miisrv.jp.zone

ゾーンファイル構文チェック

作成したゾーンファイルが正しく記述されているかをチェックするため、
/usr/sbin/named-checkzone ドメイン名 /var/named/chroot/var/named/ゾーンファイル名
を実行する。
# /usr/sbin/named-checkzone test.com /var/named/chroot/var/named/test.com.zone
正しく記述されている場合
# miisrv.jp.zone
zone miisrv.jp/IN: loaded serial 2009080910
OK
記述に誤りがある場合、例として xxx.xxx.xxx.xxx をIPアドレスに書き換えていなかった場合
# /usr/sbin/named-checkzone miisrv.jp /var/named/chroot/var/named/miisrv.jp.zone
dns_rdata_fromtext: /var/named/chroot/var/named/miisrv.jp.zone:12: near ‘xxx.xxx.xxx.xxx’: bad dotted quad

BIND設定ファイルへのゾーンファイル指定

以前あるデータに追記する。
#vi /var/named/chroot/etc/named.conf

zone “miisrv.jp” IN {
    type master;
    file “miisrv.jp.zone”;
};

設定ファイル構文チェック

# /usr/sbin/named-checkconf /var/named/chroot/etc/named.conf
正しいと、何も表示されない。

サービス起動

service named start
Starting named:          [ OK ]
となれば、OK

最後に、クライアントの方で、DNSサーバのIPアドレスを設定する。