必要パッケージ: djbdns-1.05.tar.gz /// djbdns /// % tar zxvf djbdns-1.05.tar.gz % cd djbdns-1.05 % make % su root # make setup check /// tinydns /// 自分のドメインを管理するDNSサーバの準備 daemontoolsを利用します。動作していることを確認してください。 # /command/svscanboot & # groupadd djbdns # useradd -g djbdns -c "djbdns" -d /nodir -s /sbin/nologin gtinydns # useradd -g djbdns -c "djbdns" -d /nodir -s /sbin/nologin gdnslog # /usr/local/bin/tinydns-conf gtinydns gdnslog /var/tinydns AAA.BBB.CCC.DDD ^^^^^^^^^^^^^^^ アドレス daemontoolsの管理下に入れ、動作を確認します。 # ln -s /var/tinydns /service # /usr/local/bin/svstat /service/tinydns (check) configure DNS. for "e-doraku.com" ---------------------------------------------------------- ns.e-doraku.com as Name Server ---------------------------------------------------------- micropc.e-doraku.com as A record e-doraku.com as MX login.e-doraku.com as CNAME (djbdnsではなぜか A record) www.e-doraku.com as CNAME (djbdnsではなぜか A record) mail.e-doraku.com as CNAME (djbdnsではなぜか A record) ftp.e-doraku.com as CNAME (djbdnsではなぜか A record) ---------------------------------------------------------- # cd /var/tinydns/root # ./add-ns e-doraku.com AAA.BBB.CCC.DDD # ./add-ns DDD.CCC.BBB.AAA.in-addr.arpa AAA.BBB.CCC.DDD # make # ./add-host micropc.e-doraku.com AAA.BBB.CCC.DDD # ./add-mx e-doraku.com AAA.BBB.CCC.DDD # ./add-alias www.e-doraku.com AAA.BBB.CCC.DDD # ./add-alias mail.e-doraku.com AAA.BBB.CCC.DDD # ./add-alias ftp.e-doraku.com AAA.BBB.CCC.DDD # cat /var/tinydns/root/data # make 自力で名前解決できるか実験 # /usr/local/bin/dnsq a micropc.e-doraku.com AAA.BBB.CCC.DDD 他のホストから名前解決できるかの試験 anotherhost# /usr/bin/host micropc.e-doraku.com AAA.BBB.CCC.DDD anotherhost# /usr/bin/dnsquery -n AAA.BBB.CCC.DDD -t mx e-doraku.com anotherhost# /usr/bin/dnsquery -n AAA.BBB.CCC.DDD -t soa e-doraku.com /// axfrdns /// プライマリDNSからセカンダリDNSへゾーン転送する準備 セカンダリDNSサーバが BIND の場合の設定です。 セカンダリDNSのアドレスをaaa.bbb.ccc.dddとします。 # useradd -g djbdns -c "djbdns" -d /nodir -s /sbin/nologin gdnsaxfr # /usr/local/bin/axfrdns-conf gdnsaxfr gdnslog /var/axfrdns \ /var/tinydns AAA.BBB.CCC.DDD # cd /var/axfrdns aaa.bbb.ccc.dddからe-doraku.comの正引き/逆引きの情報の転送リクエストを受ける # vi tcp --- aaa.bbb.ccc.ddd:allow,AXFR="e-doraku.com/DDD.CCC.BBB.AAA.in-addr.arpa" :deny --- # make daemontoolsの管理下に入れます。 # ln -s /var/axfrdns /service # ln -s /var/axfrdns/log/main /var/log/axfrdns /// dnscache /// DNSキャッシュサーバの準備 # useradd -g djbdns -c "djbdns" -d /nodir -s /sbin/nologin gdnscache # /usr/local/bin/dnscache-conf gdnscache gdnslog /var/dnscache daemontoolsの管理下に入れます。 # ln -s /var/dnscache /service # /usr/local/bin/svstat /service/dnscache 名前解決を自分自身にさせます。 # vi /etc/resolv.conf --- nameserver 127.0.0.1 --- 動作確認 # /usr/local/bin/dnsip www.takemaru.com /// 運用メモ /// svscan -> /servive/tinydns (supervise-tinydns) -> /service/axfrdns (supervise-axfrdns) -> /servive/dnscache (supervise-dnscache) /usr/local/bin/supervise /service/tinydns/supervise & (サービス開始) /usr/local/bin/svstat /service/tinydns (動作確認) /usr/local/bin/svc -u /service/tinydns (up) /usr/local/bin/svc -d /service/tinydns (down) /usr/local/bin/svc -dx /service/tinydns (サービス停止。その5秒後に起動) サービス完全停止 # cd /service/tinydns # rm /service/tinydns # svc -dx . log