# /usr/local/sbin/named -u bind -t /usr/local/etc/namedb -c /named.conf [-g] # chroot する場合 # /usr/local/sbin/named -u bind -c /usr/local/etc/namedb/named.conf [-g] # chroot しない場合 (-g を付けるとデバッグモード) Aug 21 00:37:40.933 starting BIND 9.2.1 -u bind -t /usr/local/etc/namedb -c /named.conf -g Aug 21 00:37:40.935 using 1 CPU Aug 21 00:37:40.938 loading configuration from '/named.conf' Aug 21 00:37:40.939 listening on IPv6 interfaces, port 53 Aug 21 00:37:40.940 listening on IPv4 interface fxp0, 172.30.2.3#53 Aug 21 00:37:40.940 listening on IPv4 interface lo0, 127.0.0.1#53 Aug 21 00:37:40.945 command channel listening on 127.0.0.1#953 Aug 21 00:37:40.945 command channel listening on ::1#953 Aug 21 00:37:40.945 ignoring config file logging statement due to -g option Aug 21 00:37:40.947 zone 0.0.127.in-addr.arpa/IN: loaded serial 20020821 Aug 21 00:37:40.948 zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int/IN: loaded serial 20020821 Aug 21 00:37:40.948 runningうまく行くとこんな感じになる。 Control-C で終了する。
# rndc -c /usr/local/etc/namedb/rndc.conf -s 127.0.0.1 reloadすると、named の出力には下のように出るはずだ。
Aug 21 00:43:16.024 loading configuration from '/named.conf' Aug 21 00:43:16.030 ignoring config file logging statement due to -g option
# rndc -c /usr/local/etc/namedb/rndc.conf -s ::1 reload
# ln -s ../usr/local/etc/namedb/rndc.conf /etc
$ /usr/local/bin/dig @127.0.0.1 -x 127.0.0.1 ; <<>> DiG 9.2.1 <<>> @127.0.0.1 -x 127.0.0.1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46472 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.0.0.127.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.0.0.127.in-addr.arpa. 3600 IN PTR localhost.example.com. ;; AUTHORITY SECTION: 0.0.127.in-addr.arpa. 3600 IN NS ns.example.com. ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Aug 21 10:04:19 2002 ;; MSG SIZE rcvd: 91
$ /usr/local/bin/dig @::1 -x 127.0.0.1
$ /usr/local/bin/dig @127.0.0.1 -n -x ::1 ; <<>> DiG 9.2.1 <<>> @127.0.0.1 -n -x ::1 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18455 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int. IN PTR ;; ANSWER SECTION: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int. 3600 IN PTR localhost.example.com. ;; AUTHORITY SECTION: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int. 3600 IN NS ns.example.com. ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Aug 21 10:08:16 2002 ;; MSG SIZE rcvd: 140
$ /usr/local/bin/dig @127.0.0.1 www.freebsd.org ; <<>> DiG 9.2.1 <<>> @127.0.0.1 www.freebsd.org ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2293 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.freebsd.org. IN A ;; ANSWER SECTION: www.freebsd.org. 3594 IN A 216.136.204.117 ;; AUTHORITY SECTION: freebsd.org. 3594 IN NS ns1.root.com. freebsd.org. 3594 IN NS ns1.iafrica.com. freebsd.org. 3594 IN NS ns2.iafrica.com. freebsd.org. 3594 IN NS ns0.freebsd.org. ;; ADDITIONAL SECTION: ns2.iafrica.com. 172795 IN A 196.7.142.133 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Aug 21 10:17:17 2002 ;; MSG SIZE rcvd: 153
# /usr/local/sbin/named -u bind -t /usr/local/etc/namedb -c /named.conf [-g] # chroot する場合 # /usr/local/sbin/named -u bind -c /usr/local/etc/namedb/named.conf [-g] # chroot しない場合
$ /usr/local/bin/dig @127.0.0.1 www.example.com | egrep -v '^;|^$' www.example.com. 3600 IN A 192.168.0.1 example.com. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 192.168.0.1
$ /usr/local/bin/dig @127.0.0.1 -x 192.168.0.1 | egrep -v '^;|^$' 1.0.168.192.in-addr.arpa. 3600 IN PTR ns.example.com. 0.168.192.in-addr.arpa. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 192.168.0.1
$ /usr/local/bin/dig @127.0.0.1 -x 127.0.0.1 | egrep -v '^;|^$' 1.0.0.127.in-addr.arpa. 3600 IN PTR localhost.example.com. 0.0.127.in-addr.arpa. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 192.168.0.1
$ /usr/local/bin/dig @127.0.0.1 example.com axfr | egrep -v '^;|^$' example.com. 3600 IN SOA ns.example.com. root.ns.example.com. 1 3600 900 3600000 3600 example.com. 3600 IN NS ns.example.com. example.com. 3600 IN MX 10 mail.example.com. localhost.example.com. 3600 IN A 127.0.0.1 mail.example.com. 3600 IN A 192.168.0.1 ns.example.com. 3600 IN A 192.168.0.1 www.example.com. 3600 IN A 192.168.0.1 example.com. 3600 IN SOA ns.example.com. root.ns.example.com. 1 3600 900 3600000 3600
$ /usr/local/bin/dig @127.0.0.1 www.freebsd.org | egrep -v '^;|^$' www.freebsd.org. 3600 IN A 216.136.204.117 freebsd.org. 3600 IN NS ns0.freebsd.org. freebsd.org. 3600 IN NS ns1.root.com. freebsd.org. 3600 IN NS ns1.iafrica.com. freebsd.org. 3600 IN NS ns2.iafrica.com.
$ /usr/local/bin/dig @::1 www.example.com | egrep -v '^;|^$' $ /usr/local/bin/dig @::1 -x 192.168.0.1 | egrep -v '^;|^$' $ /usr/local/bin/dig @::1 -x 127.0.0.1 | egrep -v '^;|^$' $ /usr/local/bin/dig @::1 example.com axfr | egrep -v '^;|^$' $ /usr/local/bin/dig @::1 www.freebsd.org | egrep -v '^;|^$'
$ /usr/local/bin/dig @10.0.0.1 www.example.com | egrep -v '^;|^$' www.example.com. 3600 IN A 10.0.0.1 example.com. 3600 IN NS ns2.example.com. example.com. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 10.0.0.1 ns2.example.com. 3600 IN A 172.16.0.1
$ /usr/local/bin/dig @10.0.0.1 1.0.0.0.10.in-addr.arpa ptr | egrep -v '^;|^$' 1.0.0.0.10.in-addr.arpa. 3600 IN PTR ns.example.com. 0.0.0.10.in-addr.arpa. 3600 IN NS ns2.example.com. 0.0.0.10.in-addr.arpa. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 10.0.0.1 ns2.example.com. 3600 IN A 172.16.0.1
$ /usr/local/bin/dig @10.0.0.1 -x 127.0.0.1 | egrep -v '^;|^$' 1.0.0.127.in-addr.arpa. 3600 IN PTR localhost.example.com. 0.0.127.in-addr.arpa. 3600 IN NS ns.example.com. ns.example.com. 3600 IN A 10.0.0.1
$ /usr/local/bin/dig @10.0.0.1 example.com axfr | egrep -v '^;|^$' example.com. 3600 IN SOA ns.example.com. root.ns.example.com. 1 3600 900 3600000 3600 example.com. 3600 IN NS ns.example.com. example.com. 3600 IN NS ns2.example.com. example.com. 3600 IN MX 10 mail.example.com. localhost.example.com. 3600 IN A 127.0.0.1 mail.example.com. 3600 IN A 10.0.0.1 ns.example.com. 3600 IN A 10.0.0.1 ns2.example.com. 3600 IN A 172.16.0.1 www.example.com. 3600 IN A 10.0.0.1 example.com. 3600 IN SOA ns.example.com. root.ns.example.com. 1 3600 900 3600000 3600
$ /usr/local/bin/dig @10.0.0.1 www.freebsd.org | egrep -v '^;|^$' . 3600000 IN NS H.ROOT-SERVERS.NET. . 3600000 IN NS I.ROOT-SERVERS.NET. . 3600000 IN NS J.ROOT-SERVERS.NET. . 3600000 IN NS K.ROOT-SERVERS.NET. . 3600000 IN NS L.ROOT-SERVERS.NET. . 3600000 IN NS M.ROOT-SERVERS.NET. . 3600000 IN NS A.ROOT-SERVERS.NET. . 3600000 IN NS B.ROOT-SERVERS.NET. . 3600000 IN NS C.ROOT-SERVERS.NET. . 3600000 IN NS D.ROOT-SERVERS.NET. . 3600000 IN NS E.ROOT-SERVERS.NET. . 3600000 IN NS F.ROOT-SERVERS.NET. . 3600000 IN NS G.ROOT-SERVERS.NET.
# ifconfig fxp0 172.30.2.3 alias # 設定 # ifconfig fxp0 172.30.2.3 -alias # 解除"fxp0" は適宜読み変えること。
$ /usr/local/bin/dig @172.30.2.3 www.freebsd.org axfr ; <<>> DiG 9.2.1 <<>> @172.30.2.3 www.freebsd.org axfr ;; global options: printcmd ; Transfer failed.
$ /usr/local/bin/dig @10.0.0.1 www.freebsd.org | egrep -v '^;|^$' . 3600000 IN NS B.ROOT-SERVERS.NET. . 3600000 IN NS C.ROOT-SERVERS.NET. . 3600000 IN NS D.ROOT-SERVERS.NET. . 3600000 IN NS E.ROOT-SERVERS.NET. . 3600000 IN NS F.ROOT-SERVERS.NET. . 3600000 IN NS G.ROOT-SERVERS.NET. . 3600000 IN NS H.ROOT-SERVERS.NET. . 3600000 IN NS I.ROOT-SERVERS.NET. . 3600000 IN NS J.ROOT-SERVERS.NET. . 3600000 IN NS K.ROOT-SERVERS.NET. . 3600000 IN NS L.ROOT-SERVERS.NET. . 3600000 IN NS M.ROOT-SERVERS.NET. . 3600000 IN NS A.ROOT-SERVERS.NET.
# /usr/local/sbin/named -u bind -t /usr/local/etc/namedb -c /named.conf [-g] # chroot する場合 # /usr/local/sbin/named -u bind -c /usr/local/etc/namedb/named.conf [-g] # chroot しない場合
# /usr/local/bin/nsupdate -d -k /usr/local/etc/namedb/key/Kddns.*.private Creating key... > server 127.0.0.1 > update add pc1.example.com 86400 IN A 192.168.0.2 > [エンターキーを押す] Reply from SOA query: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38261 ;; flags: qr aa rd ra ; QUESTION: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;pc1.example.com. IN SOA ;; AUTHORITY SECTION: example.com. 3600 IN SOA ns.example.com. root.ns.example.com. 5 3600 900 3600000 3600 Found zone name: example.com The master is: ns.example.com before getaddrinfo() Reply from update query: ;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 39853 ;; flags: qr ra ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 1 ;; TSIG PSEUDOSECTION: ddns. 0 ANY TSIG hmac-md5.sig-alg.reg.int. 1029914821 300 16 Mjb0QmIm+Ns5MYxMw3LBbA== 39853 NOERROR 0 > [control-D で終了]
# dig @127.0.0.1 pc1.example.com | egrep -v '^;|^$' pc1.example.com. 1D IN A 192.168.0.2 example.com. 1H IN NS ns.example.com. ns.example.com. 1H IN A 192.168.0.1
# /usr/local/bin/nsupdate -d -k /usr/local/etc/namedb/key/Kddns.*.private > server 127.0.0.1 > update delete pc1.example.com IN A > [エンターキーを押す]
# dig @127.0.0.1 pc1.example.com | egrep -v '^;|^$'
example.com. 1H IN SOA ns.example.com. root.ns.example.com. (
6 ; serial
1H ; refresh
15M ; retry
5w6d16h ; expiry
1H ) ; minimum
# /usr/local/bin/nsupdate -d -k /usr/local/etc/namedb/key/Kddns.*.private > server 127.0.0.1 > update add 2.0.168.192.in-addr.arpa. 86400 IN PTR pc1.example.com. # 最後の . を忘れないこと!! > [エンターキーを押す]
# dig @127.0.0.1 -x 192.168.0.2 | egrep -v '^;|^$' 2.0.168.192.in-addr.arpa. 1D IN PTR pc1.example.com. 0.168.192.in-addr.arpa. 1H IN NS ns.example.com. ns.example.com. 1H IN A 192.168.0.1
# /usr/local/bin/nsupdate -d -k /usr/local/etc/namedb/key/Kddns.*.private > server 127.0.0.1 > update delete 2.0.168.192.in-addr.arpa. IN PTR > [エンターキーを押す]
# dig @127.0.0.1 -x 192.168.0.2 | egrep -v '^;|^$'-d
0.168.192.in-addr.arpa. 1H IN SOA ns.example.com. root.ns.example.com. (
8 ; serial
1H ; refresh
15M ; retry
5w6d16h ; expiry
1H ) ; minimum
Aug 21 07:28:42.069 client 127.0.0.1#2096: updating zone 'example.com/IN': adding an RR Aug 21 07:30:46.934 client 127.0.0.1#2096: updating zone 'example.com/IN': deleting an rrsetなどと出る。
/usr/local/etc/namedb/s/example.com-priv /usr/local/etc/namedb/s/0.168.192.in-addr.arpaが変化していることを確認する。
# /usr/local/sbin/dhcpd [-d] [中略] Added new forward map from pc1.example.com to 192.168.0.15 added reverse map from 15.0.168.192.in-addr.arpa. to pc1.example.com DHCPREQUEST for 192.168.0.15 from 00:a0:24:a5:10:4b via fxp1 DHCPACK on 192.168.0.15 to 00:a0:24:a5:10:4b via fxp1このとき、named のログには、
Aug 22 01:22:55.068 client 127.0.0.1#1435: updating zone 'example.com/IN': adding an RR Aug 22 01:22:55.068 client 127.0.0.1#1435: updating zone 'example.com/IN': adding an RR Aug 22 01:22:55.074 client 127.0.0.1#1436: updating zone '0.168.192.in-addr.arpa/IN': deleting an rrset Aug 22 01:22:55.074 client 127.0.0.1#1436: updating zone '0.168.192.in-addr.arpa/IN': adding an RRなどと出ている。
$ dig @127.0.0.1 pc1.example.com. | egrep -v '^;|^$' pc1.example.com. 6H IN A 192.168.0.15 example.com. 1H IN NS ns.example.com. ns.example.com. 1H IN A 192.168.0.1 $ dig @127.0.0.1 -x 192.168.0.15 | egrep -v '^;|^$' 15.0.168.192.in-addr.arpa. 6H IN PTR pc1.example.com. 0.168.192.in-addr.arpa. 1H IN NS ns.example.com. ns.example.com. 1H IN A 192.168.0.1