----------------------------------------------------------------------
■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
----------------------------------------------------------------------
株式会社日本レジストリサービス Copyright©2001-2025 Japan Registry Services Co., Ltd.