bindは、TurboLinux 7 Serverに付属している。
利用したバージョンは、bind-9.2.1-1, bind-utils-9.2.1-1, bind-devel-9.2.1-1。
1. rndcと鍵作成
rndcコマンドを利用すると、bindのキャッシュ情報を見たりキャッシュをリフレッシュする等の操作が可能。
不正な操作を防ぐため、/etc/named.confと/etc/rndc.confの間で鍵が合っていないと操作できないようになっている。
以下のコマンドで鍵を作成する。
[root@linux /root]# cd /var/named
[root@linux named]# dnssec-keygen -a hmac-md5 -b 512 -n HOST bind
Kbind.+157+XXXXX
[root@linux named]# ls
Kbind.+157+XXXXX.key Kbind+157+XXXXX.private
|
作成されたkeyファイルの内容は以下のようになっている。
^の上の部分が鍵の内容。
[root@linux named]# cat Kbind.+157+XXXXX.key
bind. IN KEY 512 3 157 u18B5aJ2ocyeeF8QFZk1orUwynepaBXZjLi8rEs44UI1jgb96uE9bFGW wVzS8eT7zsXlctdMCYjsjCfRzG+Chw==
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[root@linux named]# cat Kbind.+157+XXXXX.private
Private-key-format: v1.2
Algorithm: 157 (HMAC_MD5)
Key: u18B5aJ2ocyeeF8QFZk1orUwynepaBXZjLi8rEs44UI1jgb96uE9bFGWwVzS8eT7zsXlctdMCYjsjCfRzG+Chw==
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
2. /etc/rndc.conf
/etc/rndc.confファイルに、Kbind.+157+XXXXX.privateの鍵の内容を記述する。
key "rndc-key" { <--- rndcのためのKey名の設定
algorithm hmac-md5; <--- Keyのアルゴリズム
secret "u18B5aJ2ocyeeF8QFZk1orUwynepaBXZjLi8rEs44UI1jgb96uE9bFGWwVzS8eT7zsXlctdMCYjsjCfRzG+Chw==";
<--- Kbind.+157+XXXXX.privateの鍵の内容をここにコピー
};
options {
default-key "rndc-key"; <--- Key名
default-server 127.0.0.1; <--- rndcを使うServer
default-port 953; <--- rndcの利用するポート
};
|
3. /etc/named.conf
/etc/named.confは、bindの主となる設定ファイル。
元からあったファイルを編集する。
key "rndc-key" { <--- rndcのためのKey名の設定
algorithm hmac-md5; <--- Keyのアルゴリズム
secret "u18B5aJ2ocyeeF8QFZk1orUwynepaBXZjLi8rEs44UI1jgb96uE9bFGW wVzS8eT7zsXlctdMCYjsjCfRzG+Chw==";
<--- Kbind.+157+XXXXX.keyファイルの鍵の内容をここにコピー
};
controls {
inet 127.0.0.1 port 953 allow { localhost; } keys { "rndc-key"; };
<--- Port953でlocalhostに対してrndcを許可
};
options {
directory "/var/named"; <--- Zoneファイルの場所(初期状態のまま)
auth-nxdomain yes; <--- 意味がわからんが、/var/messagesにエラーが残ったため指定
allow-query { <--- このDNS Serverの利用を許す範囲
127.0.0.1; <--- localhost
172.25.0.0/24; <--- 172.25.0.X(Subnet 255.255.255.0)
};
allow-transfer { <--- スレーブDNSのアドレスを記述。内向きDNSの場合は必要ないが一応記載。
127.0.0.1; <--- localhost
172.25.0.0/24; <--- 172.25.0.X(Subnet 255.255.255.0)
};
};
zone "." { <--- ルートDNS情報(初期状態のまま)
type hint; <--- ルートDNS情報であることを示す
file "named.ca"; <--- ファイル名
};
zone "0.0.127.in-addr.arpa" { <--- Localhostの逆引きの設定
type master; <--- Master DNS Serverであることを示す
file "0.0.127.in-addr.arpa"; <--- ファイル名
};
zone "kkoba.com" { <--- kkoba.comの正引きの設定
type master; <--- Master DNS Serverであることを示す
file "kkoba.com"; <--- ファイル名
};
zone "0.25.172.in-addr.arpa" { <--- 172.25.0.Xの逆引きの設定
type master; <--- Master DNS Serverであることを示す
file "0.25.172.in-addr.arpa"; <--- ファイル名
};
|
4. /var/named/named.ca
named.caは、ルートDNS情報を示す。
初めに用意されたファイルから、変更する必要なし。
5. /var/named/0.0.127.in-addr.arpa
0.0.127.in-addr.arpaは、localhostへの逆引き設定。
エディタで作成する必要がある。
$TTL 1D <--- このファイルの情報は、他DNSに1Dayの間キャッシュされる。
@ IN SOA linux.kkoba.com. root.linux.kkoba.com. (
2001102901 <--- このファイルのシリアル番号。YYYYMMDDの後にシリアル番号を付加。
3H <--- Slave Serverは3Hourに1回Master Serverから情報を更新
1H <--- Slave Serverが情報更新に失敗したら1Hour後にRetry
1W <--- Slave Serverが1Weekの間情報更新に失敗したら、応答しなくなる
1D ) <--- 他DNSがクエリに失敗した時、1Dayの間失敗したことがキャッシュされる。
IN NS linux.kkoba.com. <--- NSは、Name Serverを示す
1 IN PTR localhost. <--- 1は、127.0.0.1を、PTRは逆引きを示す。127.0.0.1 = localhost
|
- linux.kkoba.com.等、最後に.が付くのに注意。
- INは、Internetを示す。実質的には全てのレコードに付ける。
- SOAは、Start Of Authorityの略で、権限の開始を示す。
- SOAレコードのlinux.kkoba.com.は、DNS Serverの名称。
- SOAレコードのroot.linux.kkoba.com.は、連絡先メールアドレス。1つ目の.は@に置き換えられる。
- Slave DNS Serverがないので、SOAレコードの内容は実際には殆ど参照されない。
6. /var/named/kkoba.com
kkoba.comは、kkoba.com内の正引き設定。
エディタで作成する必要がある。
$TTL 1D
@ IN SOA linux.kkoba.com. root.linux.kkoba.com. (
2001102901
3H
1H
1W
1D )
IN NS linux.kkoba.com. <--- Name Server
IN MX 10 linux.kkoba.com. <--- Mail Server。10は優先順位。
adsl IN A 172.25.0.1 <--- Aレコードは、実際のアドレスを示す
linux IN A 172.25.0.2
win2k IN A 172.25.0.3
dns IN CNAME linux <--- CNAMEレコードは、別名を示す
www IN CNAME linux
mail IN CNAME linux
smtp IN CNAME linux
pop IN CNAME linux
imap IN CNAME linux
ftp IN CNAME linux
|
- Name Serverは、CNAMEレコードを使わないことが推奨。
- MXレコードが複数ある場合は、優先順位の小さいものが利用される。
7. /var/named/0.25.172.in-addr.arpa
0.25.172.in-addr.arpaは、172.25.0.X内の逆引き設定。
エディタで作成する必要がある。
$TTL 1D
@ IN SOA linux.kkoba.com. root.linux.kkoba.com. (
2001102901
3H
1H
1W
1D )
IN NS linux.kkoba.com.
IN PTR kkoba.com. <--- 解決するドメイン
IN A 255.255.255.0 <--- サブネットマスク
1 IN PTR adsl.kkoba.com. <--- 172.25.0.1の逆引き
2 IN PTR linux.kkoba.com.
3 IN PTR win2k.kkoba.com.
|
8. /etc/hosts
DNSの情報と/etc/hosts情報の不整合を防ぐため、localhost以外のエントリーはコメント化する。
127.0.0.1 localhost.localdomain localhost
# 172.25.0.1 adsl.kkoba.com adsl
# 172.25.0.2 linux.kkoba.com linux
# 172.25.0.3 win2k.kkoba.com win2k
|
9. /etc/resolv.conf
resolv.confファイルの内容を確認し、nameserverエントリを変更する。
search, domainは片方しか有効にならない。
searchはスペースまたはTABで区切って複数指定できるので、searchだけを記述した方が良いでしょう。
(詳細はKozupon Dot Comのetcディレクトリのそうそうたる面々!参照。)
search kkoba.com <--- ホスト名検索時に省略できるドメイン名
nameserver 127.0.0.1 <--- Name Serverはlocalhost
|
10. /etc/nsswitch.conf
nsswitch.confファイルに、以下のエントリがあるか確認する。
hosts: files nisplus nis dns <--- hostsファイル、nisplus, nis, dnsの順に名前解決
|
11. /etc/host.conf
host.confファイルの内容を確認する。
order hosts,bind <--- hostsファイル、dnsの順に名前解決
multi on <--- /etc/hostsのホスト名に複数のIPを割り当てる
|
12. bindを起動する
以下のコマンドで、bindを起動する。
再起動はrestart、停止はstop。
[root@linux /root]# /etc/init.d/named start
|
13. /var/log/messagesの確認
以下のログが残っていれば、bindは無事起動したことがわかる。
Mar 4 23:36:15 linux named[5737]: starting BIND 9.2.1 -u named
Mar 4 23:36:15 linux named[5737]: using 1 CPU
Mar 4 23:36:15 linux named[5739]: loading configuration from '/etc/named.conf'
Mar 4 23:36:15 linux 3月 4 23:36:15 named: named startup succeeded
Mar 4 23:36:15 linux named[5739]: no IPv6 interfaces found
Mar 4 23:36:15 linux named[5739]: listening on IPv4 interface lo, 127.0.0.1#53
Mar 4 23:36:15 linux named[5739]: listening on IPv4 interface eth0, 172.25.0.2#53
Mar 4 23:36:15 linux named[5739]: command channel listening on 127.0.0.1#953
Mar 4 23:36:15 linux named[5739]: zone 0.0.127.in-addr.arpa/IN: loaded serial 2002030301
Mar 4 23:36:15 linux named[5739]: zone 0.25.172.in-addr.arpa/IN: loaded serial 2002030301
Mar 4 23:36:15 linux named[5739]: zone kkoba.com/IN: loaded serial 2002030301
Mar 4 23:36:15 linux named[5739]: running
|
|