djbdns(tinydns)設定

今日はdjbdnsの設定の続きをやりました。
先日までで、dnscacheの設定はだいたい終わっていましたので、
今回はtinydnsの設定をしました。

方針としては、

(1) ローカルのネットワーク内の各マシンは、名前解決のためにDNSキャッシュ(PowerBook)を
  使用します。(/etc/resolv.confのnameserverとして指定)

(2) DNSキャッシュは、ローカルネットワーク内からの問い合わせに関してはtinydnsを参照するように
  し、それ以外の名前解決は、ルータにお願いする。

という感じです。
将来的に、外部に公開するようになったらまた設定を変更することにしようと
思います。

●上記(1)の設定
ローカル用のドメイン名を"local"にすることにしました。
下記のaaa.bbb.ccc.dddはtinydnsのIPアドレスです。

cd /var/dnscachex/root/servers/
echo aaa.bbb.ccc.ddd > local
( *.localという名前はアドレスaaa.bbb.ccc.dddへ問い合わせたい)

echo aaa.bbb.ccc.ddd > .ccc.bbb.aaa.in-addr.arpa
(aaa.bbb.ccc.*の逆引きはaaa.bbb.ccc.dddへ問い合わせたい)

●上記(2)の設定
/var/tinydns/root/dataを編集しました。

%lu:aaa.bbb
%ex:

.local:aaa.bbb.ccc.ddd:dns.local:259200::lu

.3.ccc.bbb.aaa.in-addr.arpa::dns.local:::lu

=router.local:aaa.bbb.ccc.rrr:300:lu
(aaa.bbb.ccc.rrrはルータのアドレスです。
300は省略可能だと思いますが、とりあえず)

編集が終わったら、makeを実行しました。


上記の2つの設定が終わったら、

svc -t /services/*

として、サービスを再起動して完了です。

ping dns.local
ping aaa.bbb.ccc.ddd

ping router.local
ping aaa.bbb.ccc.1

で確認して、それぞれpingが通っていることを確認できました。
また、外部に対してもこれまで通りpingが通っていることも確認できました。
(何か足りないかもしれませんが、気がついたら修正していこうと思います)

と、ここまできて、「あら。。」と思ったことが。。。
ローカルなネットワーク内のPCは、ルータからDHCPでアドレスをもらっているので、
tinydnsのdataファイルにどう書けばいいのか。。ううむ。

Google先生に聞いてみます。

つづく。