では、さっそく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」のホストに付けています。
ここでは、「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」のホストに付けています。