djbdnsIPv6対応をしよう! その2

IPv6用の設定

tinydns の dataファイルの作成方法に関して詳しくは、
クラスレスにおけるdjbdnsの正しい使い方を参照すること。
ここでは、IPv6 用の設定に関して説明する。
まず、正引きだが、ここでは、AAAA レコードを設定する。
(BIND の A6 レコードは使わない。OCN では、使うなと言っている)
例によって、逆引きを同時に発生させるもの
6XXXXXXX
と、正引きだけの
3XXXXXXX
があるが、自分の好みで、正引きと逆引きは別に設定する。
SOA レコードは、IPv4 と同じ設定です。
IPv4 の A レコードと同様に、AAAA レコードを追加します。
IPv6 アドレスは、そのまま、区切りなしで、16進で記述します。
例1: ns.hasiru.net に 2001:380:66e:1::11をTTL86400で追加。
3ns.hasiru.net:20010380066e00010000000000000011:86400
例2: www2.hasiru.net に 2001:380:66e:1::20 を TTL86400 で追加。
3www2.hasiru.net:20010380066e00010000000000000020:86400
これで、正引きは設定できた。

次は、逆引きだが、どうも、ごたごたがあって、XXXX.ip6.int と、XXXX.ip6.arpa と2種類あるらしい。
でも、今は、 XXXX.ip6.arpa の方が推奨されている様だ。
まず、SOA レコードを作る。
例:
Ze.6.6.0.0.8.3.0.1.0.0.2.ip6.arpa:ns.hasiru.net:admin.hasiru.net:2008060701:7200::::2560
IPv4 と殆ど同じだが、ip6.arpa で終わること、48 ビットのプレフィックスを16進の1桁ずつ . で区切って
逆に並べることが、異なる。
次に NS レコードだが、これも、同上である。
例:
&e.6.6.0.0.8.3.0.1.0.0.2.ip6.arpa::ns.hasiru.net:172800
&e.6.6.0.0.8.3.0.1.0.0.2.ip6.arpa::ns2.hasiru.net:172800
さて、逆引きの設定の本体も同様だ。
こつが分かれば、IPv4 でクラスレスの設定をするよりすっきりしている。
例: 2001:380:66e:1::11 の逆引き
^1.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.e.6.6.0.0.8.3.0.1.0.0.2.ip6.arpa:ns.hasiru.net:86400
これで、設定は出来たので、
おもむろに、make として、data.cdb を作成しよう。

動作確認

このままだと、tinydns は、IPv4 のアドレスからしか答えてくれない。
そこで、
設定を追加して、再起動。
まず、/etc/tinydns に設定があるとすると、
cd /etc/tinydns/env
で、環境変数を設定する。
vi IP
で、ファイルを開き、
219.166.53.194,2001:380:66e:1::11
などと(これは、私のアドレスです) , で、IPv6 のアドレスを追加してやって閉じる。
svc -t /service/tinydns
などとやって、再起動すると、IPv6 のアドレスでも答えてくれるはずです。
(注意:FreeBSD の ports に入っている djbdns + IPv6 は、古くてだめだった)

例によって、dnsq で試してみる。
dnsq any hasiru.net 219.166.53.194 および、
dnsq any hasiru.net 2001:380:66e:1::11
で、
255 hasiru.net:
346 bytes, 1+7+0+6 records, response, authoritative, noerror
query: 255 hasiru.net
answer: hasiru.net 2560 SOA ns.hasiru.net admin.hasiru.net 2008060702 7200 2048 1048576 2560
answer: hasiru.net 172800 NS ns.hasiru.net
answer: hasiru.net 172800 NS ns2.hasiru.net
answer: hasiru.net 86400 16 !v=spf1\040ip4:219.166.53.192/29\040~all
answer: hasiru.net 86400 MX 0 ml.hasiru.net
answer: hasiru.net 86400 A 219.166.53.194
answer: hasiru.net 86400 AAAA 2001:380:66e:1::11
additional: ns.hasiru.net 172800 A 219.166.53.194
additional: ns.hasiru.net 86400 AAAA 2001:380:66e:1::11
additional: ns2.hasiru.net 172800 A 219.166.53.195
additional: ns2.hasiru.net 86400 AAAA 2001:380:66e:1::20
additional: ml.hasiru.net 86400 A 219.166.53.194
additional: ml.hasiru.net 86400 AAAA 2001:380:66e:1::11


こんなのが、返ってきたら、大成功だ。
また、
dnsname 2001:380:66e:1::11
などで、ちゃんと、名前が出てきたら、逆引きの設定も OK だ。

終わりに

これで、一応 djbdns は、IPv6 対応になった。
もっとも、fefe 氏のパッチが test 版なので、あまり信頼しきってはいけないのだが。
さらに、BSD 対応に至っては、私の研究不足でかなり怪しい。
今後、セキュリティーの問題などが出たら、対処するつもりですが、責任は取れませんので
よろしくお願いします。

qmail のIPv6 対応は、いつまでも論じて無かったのですが、
実は、藤原さんと言う人がすでにパッチを作っていらしたので、試しました。
tcpserver には、djbdns の IPv6化で使ったものを使います。
他のパッチの影響でうまく当たらない場合があるですが、それほど難しくないので
そう言う場合は、.rej ファイルを参考に手動で当てます。
現在も使用していますが、うまく動作している模様です。

前へ  トップへ