では、さっそくnamed.conf と ゾーンファイルを編集してみましょう。

ここでは、「dns-test.com」というドメインを管理するインターネットDNSを構築するとします。

・DNSサーバ(マスター) 1.1.1.1 ns.dns-test.com
・DNSサーバ(スレーブ) 1.1.1.2 ns.example.com
・Webサーバ       1.1.1.3 www.dns-test.com
・FTPサーバ       1.1.1.3 ftp.dns-test.com
・メールサーバ1     1.1.1.4 mail01.dns-test.com
・メールサーバ2     1.1.1.5 mail02.dns-test.com

※DNSサーバ(スレーブ)については外部に委託している想定となります。



1.リゾルバの設定
リゾルバとして自ホストのBINDを利用するように設定します。
リゾルバの設定は、 /etc/resolv.conf で行ないます。

nameserver 127.0.0.1

この設定によって、このコンピュータが利用するリゾルバは自分自身ということになります。





2.named.conf の設定

・まず、不要な記述をコメントアウトしましょう。

#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };


#allow-query     { localhost; };
#allow-query-cache { localhost; };


#view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};


これらは、外部からのアクセスを受け付けなくさせるための設定です。

・つぎの記述をファイルに付け加えます。
 include "/etc/named.rfc1912.zones";

・zoneステートメントを記述します。
※この記述はoptionsステートメント以降に追加して下さい。

zone "test-dns.com" {  ★①
        type master;  ★②
        file "test-dns.com.zone";  ★③
        allow-update { none; };  ★④
        allow-transfer { 1.1.1.2; };  ★⑤
};



★① ・・・ 設定するゾーン名を指定
★② ・・・ マスターサーバであることを指定
★③ ・・・ ゾーンファイル名を指定
★④ ・・・ 動的更新を許可するホストを指定 (通常はnone)
★⑤ ・・・ ゾーン転送を許可するホスト (通常はスレーブサーバ)



3.ゾーンファイルの設定
ゾーンファイルは/var/named/chroot/var/named ディレクトリに作成します。
ここでは、named.conf で指定した「dns-test.com.zone」 というファイルを作成します。

$TTL    10800  ★①

dns-test.com.    IN    SOA    ns.dns-test.com.   root.dns-test.com.  (  ★②
                2014083001      ; Serial   ★③
                43200        ; Refresh  ★④
                5400        ; Retry  ★⑤
                3600000    ; Expire  ★⑥
                3600 )        ; Minimum  ★⑦

dns-test.com.    IN    NS    ns.dns-test.com.  ★⑧
dns-test.com.    IN    NS    ns.example.com.  ★⑧

dns-test.com.    IN    MX  10    mail01.dns-test.com. ★⑨
dns-test.com.    IN    MX  20    mail02.dns-test.com.  ★⑨

ns.dns-test.com.        IN    A    1.1.1.1  ★⑩
www.dns-test.com.    IN    A    1.1.1.3  ★⑩
mail01.dns-test.com.    IN    A    1.1.1.4  ★⑩
mail02.dns-test.com.    IN    A    1.1.1.5  ★⑩

mail01.dns-test.com.    IN    CNAME    www.dns-test.com.
 ★⑪


★①
各レコードのTTLのデフォルト値を設定します。単位は秒です。「10800」は3時間に相当します。TTLは基本的に1日以内が推奨されています。

★②
ゾーン名とマスターDNSサーバ名、管理者メールアドレスを記載しています。
「 ゾーン名    IN    SOA    マスターDNSサーバ名   管理者メールアドレス (
 」

★③
シリアルナンバー

★④
更新時間

★⑤
再試行時間

★⑥
有効期限

★⑦
ネガティブキャッシュのTTL値

★⑧
NSレコードを記述しています。
NSレコードが2つありますが、これはマスターサーバとスレーブサーバを指定しているためです。

★⑨
MXレコードを記述しています。
「dns-test.com」が指定されたメールは、メールサーバ「mail01.dns-test.com」または「mail02.dns-test.com」に届くようになります。

★⑩
Aレコードを記述しています。
ns.dns-test.com に 1.1.1.1、www.dns-test.comに1.1.1.3、mail01.dns-test.com に1.1.1.4、mail02.dns-test.comに1.1.1.5 を割り当てています。

★⑪
CNAMEレコードを記述しています
「ftp.dns-test.com」という別名を「www.dns-test.com」のホストに付けています。