Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第5回 見落としがちな今時のDNS事情を考える

  2009/02/20 11:00

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.

 

図1: DNSのIPv6対応
図1: DNSのIPv6対応
 
 

 IPv6の正引きは、比較的簡単に記述できますが、逆引きはなかなか大変です。また、IPv6では、各セグメントのプレフィックス長が標準で/64であり、セグメント内で利用できるIPv6アドレス数は莫大です。全てのIPv6アドレスに逆引きを書こうとすると、破綻する程のレコード数になります。

 恐らくIPv6での逆引きは、サーバなど一部の気になるホストのみ記述して、その他のユーザがクライアントで利用するIPv6 アドレスには設定しないことになるだろうと考えています。権威委譲やメール配送先の指定先には、NSレコードやMXレコードでホスト名を指定しています。これらをIPv6対応する場合は、指定先のホスト名にAAAAレコードを記述してやります。NSレコードについては、必要に応じて権威委譲を受けている上位のネームサーバにグルー(glue)としてAAAAレコードを登録します。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 松崎吉伸(まつざき よしのぶ)

    1998年にIIJ(株式会社インターネットイニシアティブ) に入社。2000年から同社バックボーン運用に参加し、設計から運用までを手掛ける。2007年にはAPNIC IPv6 Technical Sig Chairに就任。より良いインターネットを目指してあれこれ楽しそうな事を見つけながら頑張っている...

バックナンバー

連載:IPv6時代のネットワーク事情
All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5