2012年9月26日水曜日

サーバの環境構築自動化を考える vol.2: KickStart ~ DNS 構築

こんにちは、OSSテクノロジーセンターの原です。

前回は環境構築の手順として、DHCP の構築を行いました。

2回目である今回は、KickStart とは直接関係はしないのですが、より効率的な管理のため、DNS(BIND) を構築を紹介したいと思います。

通常 KickStart に DNS は必須ではありませんが、今回の環境は RHEV をターゲットとしたため、DNS の正引き、逆引きが必須要件となっています。

またそれを差し置いても、今回は MAC Address と IP を紐付ける形で DHCP を構築しましたし、何度 KickStart で OS インストールをし直しても、ホスト名や IP が変更されない方が使い勝手が良い、という事もあります。

それでは早速構築していきましょう。

なお、閉じられた箱庭環境で作成することを前提として、セキュリティは甘く設定してありますので、ご注意ください。

BIND サーバの導入
# yum install -y bind

BIND の設定 /etc/named.conf
acl "internal-acl" { 127/8; 192.168.100.0/24; };

options {
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; internal-acl; };
        allow-query-cache { localhost; internal-acl; };
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
        category lame-servers { null; };
};

view localhost_resolver {
        match-clients      { localhost; internal-acl; };
        match-destinations { localhost; internal-acl; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
        include "/etc/named.labs.example.com.zone";
};

/etc/named.conf は特殊な書き方はしません。

/etc/named.rfc1912.zones/etc/named.labs.example.com.zone をインクルードしていますが、named.rfc1912.zones はもともと bind インストール時に最初から入っていたものをそのまま利用しました。

named.labs.example.com.zone は以下を用意しました。

/var/named/named.labs.example.com.zone
zone "labs.example.com" {
        type master;
        file "labs.example.com.db";
};
zone "100.168.192.in-addr.arpa" {
        type master;
        file "100.168.192.in-addr.arpa.db";
};

正引き用の labs.example.com.db と、逆引き用の 100.168.192.in-addr.arpa.db を用意します。

/var/named/labs.example.com.db
$TTL    86400
@       IN      SOA     labs.example.com.  root.labs.example.com. (
                                      2012040101 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN NS    labs.example.com.
        IN MX 1  labs.example.com.
@       IN A     192.168.100.1
*       IN A     192.168.100.1
hands   IN A     192.168.100.1
rhev01  IN A     192.168.100.101
rhev02  IN A     192.168.100.102
rhev03  IN A     192.168.100.103
_ldap._tcp IN SRV 0 100 389 hands.labs.example.com.
_kerberos._tcp IN SRV 0 0 88 hands.labs.example.com.

named.labs.example.com.zone の最後 2行、普段あまり見慣れない設定があります。

この _ldap._tcp_kerberos._tcp は、RHEV とディレクトリサービスとの連携に利用するため設定しています。

そのため、ディレクトリサービス連携を利用しない場合は不要です。

/var/named/100.168.192.in-addr.arpa.db
$TTL    86400
@       IN      SOA     labs.example.com.  root.labs.example.com. (
                                      2012040101 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS    labs.example.com.
1             IN      PTR   hands.labs.example.com.
101           IN      PTR   rhev01.labs.example.com.
102           IN      PTR   rhev02.labs.example.com.
103           IN      PTR   rhev03.labs.example.com.

こちらは特に特殊な設定はしていません。


設定が完了したら、サービスを起動させましょう。

# /etc/init.d/named start
# chkconfig named on

サービスが起動できたら、 resolv を自分に向けて、nslookup などで確認しましょう。

/etc/resolv.conf
search labs.example.com
nameserver 192.168.100.1

# nslookup hands
Server:         192.168.100.1
Address:        192.168.100.1#53

Name:   hands.labs.example.com
Address: 192.168.100.1

# nslookup 192.168.100.1
Server:         192.168.100.1
Address:        192.168.100.1#53

100.168.192.in-addr.arpa  name = hands.labs.example.com.

正引き、逆引き共に引くことができていれば完了です。

いかがでしょうか。まずは KickStart 環境構築準備の手順として、今回は DNS(BIND) の構築でした。

今回はここまでです。次回もお楽しみに。

0 件のコメント:

コメントを投稿