このページはリンク切れを生じないために残してありますが、内容は古くなっていますのでご注意下さい。
スレーブになってみる
無事、プライマリとしてゾーンデータをサーブできたので、次はスレーブとして動作させてみましょう。
先ほどのとは別のexample2.jpゾーンのスレーブとして設定してみます。マスタは203.0.113.1です。
knot.confにremotes{}でマスタについての設定を追加し、zones{}にはexample2.jpゾーンの設定を追加します。xfr-inはゾーン転送の要求先、notify-inはNOTIFYの受け入れ制限です。
system {
storage "/proj/knot-dns/var";
}
interfaces {
eth0 {
address 192.0.2.1;
}
}
remotes {
ns.example2.jp {
address 203.0.113.1;
}
}
zones {
example1.jp {
file "/proj/dns/namedb/example1.jp";
}
example2.jp {
file "/proj/dns/namedb/example2.jp";
xfr-in ns.example2.jp;
notify-in ns.example2.jp;
}
}
それでは設定をチェックしてみましょう。
% /usr/bin/sudo /proj/knot-1.0.6/sbin/knotc checkconf
2012-06-28T21:43:43.746520+09:00 Using '/proj/knot-dns/etc/knot.conf' as default configuration.
2012-06-28T21:43:43.768185+09:00 [error] Config '/proj/knot-dns/etc/knot.conf' - remote specified for XFR/IN or NOTIFY/OUT needs to have valid port! on line 20 (current token 'ns.example2.jp').
2012-06-28T21:43:43.768695+09:00 [error] Failed to parse configuration '/proj/knot-dns/etc/knot.conf'.
xfr-inで参照するエントリ(ここではns.example2.jp{}には、53番であってもportの設定が必要なようです。
system {
storage "/proj/knot-dns/var";
}
interfaces {
eth0 {
address 192.0.2.1;
}
}
remotes {
ns.example2.jp {
address 203.0.113.1;
port 53;
}
}
zones {
example1.jp {
file "/proj/dns/namedb/example1.jp";
}
example2.jp {
file "/proj/dns/namedb/example2.jp";
xfr-in ns.example2.jp;
notify-in ns.example2.jp;
}
}
portの設定を追加したところ、今度はチェックに通りました。
% /usr/bin/sudo /proj/knot-1.0.6/sbin/knotc checkconf
2012-06-28T21:44:21.124770+09:00 Using '/proj/knot-dns/etc/knot.conf' as default configuration.
2012-06-28T21:44:21.133484+09:00 OK, configuration is valid.
それではreloadしましょう。
% /usr/bin/sudo /proj/knot-1.0.6/sbin/knotc reload
2012-06-28T21:44:55.880573+09:00 Using '/proj/knot-dns/etc/knot.conf' as default configuration.
2012-06-28T21:44:55.900643+09:00 Server reload queued - OK.
example2.jpのゾーンデータとデータベースが増えています。
% ls -l /proj/dns/namedb
total 8
-rw-r--r-- 1 root root 148 Jun 21 19:34 example1.jp
-rw------- 1 root root 236 Jun 24 10:50 example2.jp
% ls -l /proj/knot-dns/var
total 68
-rw-r--r-- 1 root root 282 Jun 21 19:34 example1.jp.db
-rw-r--r-- 1 root root 9 Jun 21 19:34 example1.jp.db.crc
-rw-r----- 1 root root 20517 Jun 24 10:52 example1.jp.diff.db
-rw------- 1 root root 282 Jun 24 10:50 example2.jp.db
-rw-r--r-- 1 root root 11 Jun 24 10:50 example2.jp.db.crc
-rw-r----- 1 root root 20517 Jun 24 10:52 example2.jp.diff.db
-rw-r--r-- 1 root root 4 Jun 24 10:52 knot.pid
digでexample2.jpをクエリしてみます。
% dig @localhost example2.jp SOA
; <<>> DiG 9.8.1-P1 <<>> @localhost example2.jp SOA
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36367
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;example2.jp. IN SOA
;; ANSWER SECTION:
example2.jp. 86400 IN SOA ns.example2.jp. hostmaster.example2.jp. 2012062401 1200 900 2419200 900
;; AUTHORITY SECTION:
example2.jp. 86400 IN NS ns.example2.jp.
;; ADDITIONAL SECTION:
ns.example2.jp. 86400 IN A 203.0.113.1
;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Jun 24 10:54:20 2012
;; MSG SIZE rcvd: 109
ちゃんと応答しました。それでは、他のホスト(実はマスタ)からゾーン転送を要求してみます。
ns.example2.jp% dig @192.0.2.1 example2.jp AXFR
; <<>> DiG 9.6.-ESV-R5-P1 <<>> @192.0.2.1 example2.jp AXFR
; (1 server found)
;; global options: +cmd
; Transfer failed.
拒否されました。xfr-outを設定しないときの動作は、allow anyではなくdeny anyのようです。
Copyright(c) 2012 Koh-ichi Ito, All rights reserved
ページ先頭のアイコン: Copyright(c) 2017 いらすとや, All rights reserved.
Last update: $Date: 2019-08-16 11:45:02 +0900 (Fri, 16 Aug 2019) $
[起動へ|indexへ|マスタになってみるへ]