djbdns on FreeBSD part 2

[ Nob's Home | FreeBSD ]

y-min.or.jp の nameserverを djbdnsに変更した。

状況

y-min.or.jp は

211.10.195.160/27 (160~191)
211.10.195.240/29 (241~247)
211.10.195.248/29 (248~255)
という3つのclassless addressを使用している。
このため逆引きのドメインは
a160.195.10.211.in-addr.arpa
a240.195.10.211.in-addr.arpa
a248.195.10.211.in-addr.arpa
の3つが委譲されている。

nameserverは ns.y-min.or.jp
mailは mx.y-min.or.jp

実際の作業

211.10.195.161で y-min.or.jp を担当するtinydnsを作成する。
基礎dataを以下のようなscriptで作成した。

#!/bin/sh
#
rm -rf /var/service/tinydns
rm -rf /etc/tinydns

/usr/local/bin/tinydns-conf tinydns dnslog /etc/tinydns 211.10.195.161

cd /var/djbdns/tinydns/root

./add-ns        y-min.or.jp                     211.10.195.161
./add-ns        A160.195.10.211.in-addr.arpa    211.10.195.161
./add-ns        A240.195.10.211.in-addr.arpa    211.10.195.161
./add-ns        A248.195.10.211.in-addr.arpa    211.10.195.161

./add-host      ns.y-min.or.jp                  211.10.195.161
./add-host      mx.y-min.or.jp                  211.10.195.162
./add-host      ts.y-min.or.jp                  211.10.195.179
./add-host      makioka.y-min.or.jp             211.10.195.185
./add-host      shiokawa.y-min.or.jp            211.10.195.241
./add-host      ych.y-min.or.jp                 211.10.195.249

./add-alias     center.y-min.or.jp              211.10.195.161
./add-alias     www.y-min.or.jp                 211.10.195.161

./add-alias     mail.y-min.or.jp                211.10.195.162
./add-alias     member.y-min.or.jp              211.10.195.162

./add-alias     vpn.y-min.or.jp                 211.10.195.179

./add-mx        y-min.or.jp                     211.10.195.162

make
#
/etc/tinydns/root/data が作成される。
.y-min.or.jp:211.10.195.161:a:259200
.a160.195.10.211.in-addr.arpa:211.10.195.161:a:259200
.a240.195.10.211.in-addr.arpa:211.10.195.161:a:259200
.a248.195.10.211.in-addr.arpa:211.10.195.161:a:259200
=ns.y-min.or.jp:211.10.195.161:86400
=mx.y-min.or.jp:211.10.195.162:86400
=ts.y-min.or.jp:211.10.195.179:86400
=makioka.y-min.or.jp:211.10.195.185:86400
=shiokawa.y-min.or.jp:211.10.195.241:86400
=ych.y-min.or.jp:211.10.195.249:86400
+center.y-min.or.jp:211.10.195.161:86400
+www.y-min.or.jp:211.10.195.161:86400
+mail.y-min.or.jp:211.10.195.162:86400
+member.y-min.or.jp:211.10.195.162:86400
+vpn.y-min.or.jp:211.10.195.179:86400
@y-min.or.jp:211.10.195.162:a::86400
このままではうまくいかないので、data を修正し make し data.cdbを作り直す。
# vi data
.y-min.or.jp:211.10.195.161:a:259200
このままだと y-min.or.jp の nameserver は a.ns.y-min.or.jp になるので、
.y-min.or.jp:211.10.195.161::259200 とする

.a160.195.10.211.in-addr.arpa:211.10.195.161:a:259200
.a240.195.10.211.in-addr.arpa:211.10.195.161:a:259200
.a248.195.10.211.in-addr.arpa:211.10.195.161:a:259200
ここも同様に :a: の a を削除。
.a160.195.10.211.in-addr.arpa:211.10.195.161::259200
.a240.195.10.211.in-addr.arpa:211.10.195.161::259200
.a248.195.10.211.in-addr.arpa:211.10.195.161::259200

=ns.y-min.or.jp:211.10.195.161:86400
=mx.y-min.or.jp:211.10.195.162:86400
=ts.y-min.or.jp:211.10.195.179:86400
=makioka.y-min.or.jp:211.10.195.185:86400
=shiokawa.y-min.or.jp:211.10.195.241:86400
=ych.y-min.or.jp:211.10.195.249:86400
+center.y-min.or.jp:211.10.195.161:86400
+www.y-min.or.jp:211.10.195.161:86400
+mail.y-min.or.jp:211.10.195.162:86400
+member.y-min.or.jp:211.10.195.162:86400
+vpn.y-min.or.jp:211.10.195.179:86400
@y-min.or.jp:211.10.195.162:a::86400
ここまでは同じ

classless で逆引きを委譲されている場合は
PTRレコードを記述する必要がある

^161.a160.195.10.211.in-addr.arpa:ns.y-min.or.jp
^162.a160.195.10.211.in-addr.arpa:mx.y-min.or.jp
^179.a160.195.10.211.in-addr.arpa:ts.y-min.or.jp
^185.a160.195.10.211.in-addr.arpa:makioka.y-min.or.jp
^241.a240.195.10.211.in-addr.arpa:shiokawa.y-min.or.jp
^249.a248.195.10.211.in-addr.arpa:ych.y-min.or.jp
以上の行を追加

その後に make する。

動作の確認

# ln -s /etc/tinydns /var/service
で起動する

# dnsip www.y-min.or.jp
211.10.195.161

# dnsname 211.10.195.161
ns.y-min.or.jp

slave serverへの転送

tinydns のデータを slave serverへ転送する。
あらかじめ axfrdns というユーザーを作り group dnslog に登録しておく。
# /usr/local/bin/axfrdns-conf axfrdns dnslog /etc/axfrdns /etc/tinydns 211.10.195.161
                                                                      ここは tinydns が動いているip address
# cd /etc/axfrdns
# vi tcp

210.224.133.210:allow,AXFR="y-min.or.jp/a160.195.10.211.in-addr.arpa/a240.195.10.211.in-addr.arpa/a248.195.10.211.in-addr.arpa"
:deny

# make
# ln -s /etc/axfrdns /var/service					      
BIND9が相手の場合、djbdns-1.04だと転送がうまくいかない。djbdns-1.05にversion upしてください。
[ Nob's Home | FreeBSD ]
nob@makioka.y-min.or.jp