DNSとは、問い合わせに対して、対応するリソースを応答するシステムです。インターネットでは、主にホスト名をIPアドレスに変換する、いわゆる名前解決に利用されていて、他のサービスの基盤になる重要なシステムです。第5回目の今回は、IPv6やセキュリティ増強のために追加された実装の紹介や、見落としがちな挙動について紹介します。
IPv6とDNS
DNSのIPv6対応には、2つのポイントがあります。IPv6パケットで、問い合わせを処理できるか、つまりIPv6トランスポートに対応しているかという点と、IPv6対応のレコードに対応しているかという点です。
今は、ほとんどのサーバで実装されているので、どちらも問題ありません。
DNSのサーバは、大きく2つに分けられます。ゾーン情報を保持しているコンテンツサーバと、クライアントの参照に利用されているキャッシュサーバです。
参照用のキャッシュサーバは、IPv6トランスポートにさえ対応すれば、名前解決してくれます。コンテンツ側はトランスポートの対応の他、IPv6対応のレコードを記述する必要があります。
IPv6では、正引きにAAAAレコードを、逆引きにはPTRレコードを利用します。正引きは、これまで通り設定したいホスト名にAAAAレコードでIPv6アドレスを設定すれば完了です。
同じホスト名に同時にAレコードが設定されていても大丈夫です。この場合、アクセスの際にどちらが利用されるかは、名前を引いた側の実装によります。
現在のほとんどの実装では、IPv6の接続性があればIPv6アドレス、つまりAAAAレコードを優先して利用します。逆引きはip6.arpaというドメインでIPv6アドレスを1octectづつドット[.]でつないだホスト名にPTRレコードを設定します。
- www.example.jp にAレコードとAAAAレコードを設定
www.example.jp IN A 192.0.2.80
www.example.jp IN AAAA 2001:db8:8080::80- 192.0.2.80の逆引きをwww.example.jpに設定
80.2.0.192.in-addr.arpa.INPTRwww.example.jp.
- 2001:db8:8080::80の逆引きをwww.example.jpに設定
0.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.8.8.b.d.0.1.0.0.2.ip6.arpa. IN PTRwww.example.jp.

IPv6の正引きは、比較的簡単に記述できますが、逆引きはなかなか大変です。また、IPv6では、各セグメントのプレフィックス長が標準で/64であり、セグメント内で利用できるIPv6アドレス数は莫大です。全てのIPv6アドレスに逆引きを書こうとすると、破綻する程のレコード数になります。
恐らくIPv6での逆引きは、サーバなど一部の気になるホストのみ記述して、その他のユーザがクライアントで利用するIPv6 アドレスには設定しないことになるだろうと考えています。権威委譲やメール配送先の指定先には、NSレコードやMXレコードでホスト名を指定しています。これらをIPv6対応する場合は、指定先のホスト名にAAAAレコードを記述してやります。NSレコードについては、必要に応じて権威委譲を受けている上位のネームサーバにグルー(glue)としてAAAAレコードを登録します。
この記事は参考になりましたか?
- IPv6時代のネットワーク事情連載記事一覧
-
- IPv6で進むインターネットの未来
- 見落としがちな今時のDNS事情を考える
- IPv6対応の心構えと導入手順をおさえる
- この記事の著者
-
松崎吉伸(まつざき よしのぶ)
1998年にIIJ(株式会社インターネットイニシアティブ) に入社。2000年から同社バックボーン運用に参加し、設計から運用までを手掛ける。2007年にはAPNIC IPv6 Technical Sig Chairに就任。より良いインターネットを目指してあれこれ楽しそうな事を見つけながら頑張っている...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア