---------------------------------------------------------------------- ■DNSサーバでのIPv6の設定 2006/07/21(Fri) 初版作成 ---------------------------------------------------------------------- DNSサーバでのIPv6対応には、大きく2つの観点があります。1つはDNSサーバ自 体へのアクセスをIPv6対応(IPv6トランスポート対応)とすること、もう1つは DNSサーバがIPv6アドレスに関する問い合わせに対応することです。本文書で は、主に後者について解説します。 なお、本文書は随時更新していきます。 ▼解説に使用するDNSサーバソフトウェア IPv6を扱うDNSサーバソフトウェアとして、本文書では運用実績と関連文書の 多いBIND 9(2006年7月現在の最新版はBIND 9.3.2)を使用します。 ▼DNSサーバ設定 DNSサーバをIPv6トランスポート対応とするためには、DNSサーバ設定ファイル (ここではnamed.confとします)のoptionsセクションにlisten-on-v6オプショ ンで問い合わせを受け取るIPv6アドレスを指定します。 listen-on-v6 { 2001:0db8:000a::53; }; とすると、サーバホストが持つ2001:0db8:000a::53というIPv6アドレスがDNS 問い合わせを受け取るようになります。IPv6アドレスの代わりにanyを指定す ると、サーバホストが持つすべてのIPv6アドレスがDNS問い合わせを受け取る ようになります。listen-on-v6オプションがない場合は、IPv6トランスポート 対応になりません。 ▼ゾーンファイル設定 DNSサーバをIPv6アドレスに関する問い合わせに対応させるためには、ゾーン ファイルにIPv6アドレスに関する資源レコード(RR; Resource Record)である AAAAを記述します。AAAA RRはホスト名にIPv6アドレスを対応付けるもので、 WebサーバやメールサーバなどがIPv6対応している場合に使用します。 $ORIGIN example.jp. @ IN SOA ... IN NS ns1 IN NS ns2 IN MX 10 mx1 IN MX 20 mx2 ns1 IN A 192.168.1.2 ns2 IN A 192.168.2.2 mx1 IN A 192.168.1.3 mx2 IN AAAA 2001:0db8:000b::25 ← (注) www IN A 192.168.1.4 IN A 192.168.2.4 IN AAAA 2001:0db8:000a::80 IN AAAA 2001:0db8:000b::80 DNSサーバがIPv6トランスポートに対応している場合は、NS RRで指定されるホ スト名にAAAA RRの設定を追加してください。追加に先立って、listen-on-v6 の設定を行っておき、外部からのIPv6での問い合わせに応答することを確認し ておいてください。その際は、明示的に-6オプションを指定してdigコマンド を使用するとよいでしょう。また、上位レジストリへの登録も忘れずに行って ください。 ns1 IN A 192.168.1.2 IN AAAA 2001:0db8:000a::53 ← 追加 ns2 IN A 192.168.2.2 IN AAAA 2001:0db8:000b::53 ← 追加 上位レジストリへの登録は、JPドメイン名の場合ではJPドメイン名登録指定事 業者を通じてJPRSにネームサーバホスト登録を行ってください。ネームサーバ ホストが完了すると、whoisで確認できるようになります。 確認例 % whois -h whois.jprs.jp ns1.example.jp ... Host Information: [Host Name] ns1.example.jp [IPv4 Address] 192.168.1.2 [IPv6 Address] 2001:0db8:000a:0000:0000:0000:0000:0053 ... (注) 同一のメールサーバホスト名にAとAAAAが並んで設定されているとメールをう まく配送できないMTAが存在しています。メールサーバがIPv6対応している場 合は、AとAAAAを異なるメールサーバホスト名(上記例ではmx1とmx2)で設定し ておきます。mx1とmx2の実体はデュアルスタックの同一ホストでかまいません。 ▼逆引きゾーンファイル設定 IPv6でも、IPv4と同様にPTR RRを使用してIPアドレスからホスト名への対応付 け(逆引き)をDNSに設定できます。逆引き設定は、ISPから委任された逆引きゾー ンのゾーンファイルに記述します。 $ORIGIN 8.b.d.0.1.0.0.2.ip6.arpa. @ IN SOA ... IN NS ns1.example.jp. IN NS ns2.example.jp. ; $ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. 5.2.0.0 IN PTR mx1.example.jp. 3.5.0.0 IN PTR ns1.example.jp. 0.8.0.0 IN PTR www.example.jp. ; $ORIGIN 0.0.0.0.0.0.0.0.0.0.0.0.e.0.0.0.b.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. 5.2.0.0 IN PTR mx2.example.jp. 3.5.0.0 IN PTR ns2.example.jp. 0.8.0.0 IN PTR www.example.jp. IPv6の逆引きでは、16進数1桁(4bit)単位に16進数をドット(.)で区切っている ため、非常に長くなります。一方、16進数1桁(4bit)単位で委任ができるため、 IPv4の逆引きのようにCNAMEを使って委任を分割するといったテクニックは不 要です。 なお、過去にIPv6の逆引き名前空間として使われていたip6.intは2006年6月1 日に廃止されています。 ▼関連URL ISC BIND http://www.isc.org/sw/bind/ BIND 9.3 Administrator Reference Manual http://www.isc.org/sw/bind/arm93/ ip6.intでの逆引きゾーン廃止のお知らせ http://www.nic.ad.jp/ja/topics/2006/20060612-01.html digコマンドとは http://www.atmarkit.co.jp/fnetwork/dnstips/012.html ----------------------------------------------------------------------