Testing Recursive Name Servers for IPv6 and EDNS0 Support
翻訳文
社団法人日本ネットワークインフォメーションセンター
最終更新2007年4月11日
この文書は2007年2月15日に公開された
http://www.icann.org/committees/security/sac017.htm
を翻訳したものです。
JPNICはこの翻訳を参考のために提供しますが、
その品質に責任を負いません。
IPv6およびDNS用拡張メカニズム(EDNSO)
サポートのための再帰ネームサーバの試験
SAC 017
2007年2月1日
2007年3月15日更新
準備 | AAAAおよびEDNSOサポートの試験 | 結果の共有 | 報告のあった結果 | 試験期間
背景
DNSルートサーバシステム諮問委員会 (RSSAC) およびICANNのセキュリティと安定性に関する諮問委員会 (SSAC)は、 『ルートヒントファイル』およびDNSルートゾーンにルートネームサーバのIPv6のためのAAAAタイプのリソースレコードを追加する問題について、 共同で検討を行っています。 (公式のルートヒントファイルは、 ftp://ftp.internic.net/domain/ にあります。)
殆んどの再帰ネームサーバは、 現行のルートネームサーバの一覧を決定するための primingと呼ばれるブートストラッププロセスを実行しますが、 これはルートヒントファイルのローカルコピーが古いかも知れないためです。 最初に、再帰ネームサーバは、 ローカルなルートヒントファイル内で一覧化されたルートネームサーバのうちのいずれかのルート(".") にNSタイプのDNSクエリを送ります。 再帰ネームサーバは、 稼動しているルートネームサーバから返って来たレスポンス内のルートネームサーバ一覧を名前解決の目的で使用します。 primingは、 再帰ネームサーバが常にルートネームサーバ内の最新の一覧によってオペレーションを開始することを保証するものです。
五つのルートネームサーバ - B、F、H、K、およびM - の運用者が自身のシステムにIPv6アドレスを割り当てています。 これらのアドレスは、現時点ではルートヒントファイルに含まれておらず、 ルートゾーン内にも存在しません。 従って、 再帰ネームサーバによって送られるDNSの最初のクエリへのレスポンスに AAAAリソースレコードは含まれていません。
ルートヒントファイルおよびルートゾーンにAAAAレコードを追加することは、 最初のレスポンスのサイズを膨らませることになります。 最終的には、13のネームサーバ全てがIPv6アドレスを割り当てた場合、 最初のレスポンスはそのサイズが811バイトに膨らみます。
- 再帰ネームサーバおよびルートネームサーバの間に置かれたリゾルバおよびいかなる途中のシステムも、AAAAリソースレコードを含むDNSメッセージを処理できなければなりません。
- リゾルバは、RFC1035で定められている、UDPカプセル化されたDNSメッセージサイズの最大値である512バイトよりも大きいDNSレスポンスを自身が処理することができることをルートネームサーバに通知するため、DNS拡張(EDNS0、RFC 2671)を使用しなければなりません。
- 途中のシステムは、最初のリクエストを出したリゾルバに対して、RFC1035で定められている最大のDNSメッセージサイズである512バイトよりも大きいUDPカプセル化されたDNSレスポンスを転送するよう、設定されなければなりません。
SAC016は、 リゾルバを防御するために組織が使っている商用ファイアウォールが、 これらの条件を満たさないことを理由として最初のレスポンスを遮断 (静かに破棄)するか否かについて、 インターネットコミュニティからフィードバックを募集しています。 これを実行したベンダーおよびユーザーによる報告は、 こちらで見ることができます。
共同委員会は現在、再帰ネームサービスを提供するために組織が使用する DNSサーバ(ソフトウェアおよびハードウェアアプライアンス)が、 AAAAタイプのリソースレコードがルートヒントファイル およびルートゾーンに追加された場合に正しく作動するか否かについて、 インターネットコミュニティからフィードバックを募集しています。
再帰ネームサーバ実装とバージョンの準備と試験
完全なネームサーバのブートストラッププロセスについて試験がなされ、 DNSサービスのルートレベルでの変更が逆に実際の環境でのネームサービスに影響しないことを確認しなければなりません。 試験では、以下の実装がされたことを検証しなければなりません。
- AAAAタイプのリソースレコードを含むヒントファイルで設定されたルートネームサーバの情報を、最初のレスポンスメッセージを返す際に失敗することなく使用していること。
- UDP上で最初のやり取りが実行されていること、ここには、ヒントファイルのローカルコピーにおいて特定されたルートネームサーバのうちの一つあるいは複数のルート (".") のNSタイプにDNSクエリを送ることも含まれています。
- ルートネームサーバからのUDPカプセル化されたDNSレスポンスメッセージを処理していること。
- インタラクティブな名前解決を実行するために、DNSレスポンスメッセージ内の情報を使用していること。
試験でのレスポンスは、 権威ルートネームサーバのAおよびAAAAタイプのリソースレコードを含み、 RFC1035で定められている最大のUDP DNSメッセージサイズである512バイトよりも大きければ理想的です。 いくつかのルートネームサーバ運用者は、この実行のために、 試験用のネームサーバの運用を志願しました。 AおよびAAAAタイプのリソースレコードを含む権威ルートネームサーバの 『試験用』のルートおよびroot-servers.netゾーンにとって、 これらのサーバは権威として設定されています。
再帰ネームサーバの試験を行う
貴方の再帰ネームサーバが正しく機能するか否かを試験するためには、 以下を実行してください。
- 貴方のファイアウォールが、SAC016で記述された試験を実行することによって、AAAAおよびEDNSOをサポートしているか否かを特定してください。
-
再帰ネームサービスを提供するホストにおいて、試験用のヒントファイルのコピーである、aaaa-test-root-hints [.DAT, 1K]をダウンロードおよびインストールしてください。aaaa-test-root-hintsのコンテンツは以下の通りです。
; ; IMPORTANT NOTE: This root hints file is for TESTING ONLY. Use this ; file to test your recursive name server's support of AAAA records ; for the root name servers. Details of this experiment are available ; at http://www.icann.org/committees/security/sac017.htm ; . 3600000 IN NS aaaa.verisignlabs.com. aaaa.verisignlabs.com. 3600000 A 65.201.175.33 aaaa.verisignlabs.com. 3600000 AAAA 2001:503:39c1::2:26 . 3600000 IN NS aaaa.dns.br. aaaa.dns.br. 3600000 A 200.160.7.135 aaaa.dns.br. 3600000 AAAA 2001:12ff:0:7::135 . 3600000 IN NS roto.nlnetlabs.nl. roto.nlnetlabs.nl. 3600000 A 213.154.224.153 roto.nlnetlabs.nl. 3600000 AAAA 2001:7b8:206:1::153 . 3600000 IN NS rs-net.isc.org. rs-net.isc.org. 3600000 A 204.152.186.62 rs-net.isc.org. 3600000 AAAA 2001:4f8:3:ba::62
- 設定において新たなファイルを特定する、あるいは現在のルートヒントファイル上の試験用ファイルをコピーし、貴方の再帰ネームサーバが試験用ルートヒントファイルを使用するように設定してください。(公式ファイルはftp://ftp.internic.net/domain/より簡単に入手できますが、私達は勿論、現在のルートヒントファイルのバックアップを取っておかれることをお勧めします。)各再帰ネームサーバの設定はさまざまであり、もしオルターネートルートヒントファイルをどうやって特定するか確かでない場合は、サーバのドキュメンテーション、お近くの専門家、あるいはインターネット上の参考資料にあたる必要があるかも知れません。
- ネームサーバプロセスあるいはサービスを停止あるいは再スタートさせてください。これによって、貴方のネームサーバは『prime』するはずです。(場合によっては、貴方のオペレーティングシステムあるいはDNSアプライアンスはシステムレベルの再スタートを求めるかも知れません。)
-
貴方の再帰リゾルバが最初のクエリをまだ送っていない場合には、送られるかどうかの確認のために、一般的なdigプログラムを使用して以下のDNS検索を実行してください。
dig @IP-of-your-recursive-server icann.org
-
貴方の再帰ネームサーバ現在持っているAあるいはAAAAタイプのリソースレコード群を入手するために、一般的なdigプログラムを使用して以下のDNS検索を実行してください。
digアウトプットのファイルを作るためには、以下を使用してください。dig +norec +bufsize=1024 @IP-of-your-recursive-server . NS
もし、再帰サーバそれ自体でdigを起動することができる場合には、上記digコマンド内の127.0.0.1のIPアドレスを使用することによって、サーバのループバック(ローカルホスト)アドレスに問い合わせることができます。dig +norec +bufsize=1024 @IP-of-your-recursive-server . NS >testAAAA.txt
-
貴方のdigクエリの結果を以下の情報と比較してください。(このクエリは再帰ネームサーバのローカルホストのIPv4アドレス、127.0.0.1で実行されているものであり、TTLと貴方のリクエストに対して返されるリソースレコードの順番とは異なるものかも知れないことにご留意願います)。
$ dig +norec +bufsize=1024 @127.0.0.1 . ns ; <<>> DiG 9.3.2 <<>> +norec +bufsize=1024 @IP-of-your-recursive-server . NS ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48730 ;; flags: qr ra; QUERY: 1, ANSWER: 13, AUTHORITY: 13, ADDITIONAL: 19 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;. IN ANY ;; ANSWER SECTION: . 514104 IN NS A.ROOT-SERVERS.NET. . 514104 IN NS B.ROOT-SERVERS.NET. . 514104 IN NS C.ROOT-SERVERS.NET. . 514104 IN NS D.ROOT-SERVERS.NET. . 514104 IN NS E.ROOT-SERVERS.NET. . 514104 IN NS F.ROOT-SERVERS.NET. . 514104 IN NS G.ROOT-SERVERS.NET. . 514104 IN NS H.ROOT-SERVERS.NET. . 514104 IN NS I.ROOT-SERVERS.NET. . 514104 IN NS J.ROOT-SERVERS.NET. . 514104 IN NS K.ROOT-SERVERS.NET. . 514104 IN NS L.ROOT-SERVERS.NET. . 514104 IN NS M.ROOT-SERVERS.NET. ;; AUTHORITY SECTION: . 514104 IN NS M.ROOT-SERVERS.NET. . 514104 IN NS A.ROOT-SERVERS.NET. . 514104 IN NS B.ROOT-SERVERS.NET. . 514104 IN NS C.ROOT-SERVERS.NET. . 514104 IN NS D.ROOT-SERVERS.NET. . 514104 IN NS E.ROOT-SERVERS.NET. . 514104 IN NS F.ROOT-SERVERS.NET. . 514104 IN NS G.ROOT-SERVERS.NET. . 514104 IN NS H.ROOT-SERVERS.NET. . 514104 IN NS I.ROOT-SERVERS.NET. . 514104 IN NS J.ROOT-SERVERS.NET. . 514104 IN NS K.ROOT-SERVERS.NET. . 514104 IN NS L.ROOT-SERVERS.NET. ;; ADDITIONAL SECTION: A.ROOT-SERVERS.NET. 600504 IN A 198.41.0.4 B.ROOT-SERVERS.NET. 600504 IN A 192.228.79.201 B.ROOT-SERVERS.NET. 600504 IN AAAA 2001:478:65::53 C.ROOT-SERVERS.NET. 600504 IN A 192.33.4.12 D.ROOT-SERVERS.NET. 600504 IN A 128.8.10.90 E.ROOT-SERVERS.NET. 600504 IN A 192.203.230.10 F.ROOT-SERVERS.NET. 600504 IN A 192.5.5.241 F.ROOT-SERVERS.NET. 600504 IN AAAA 2001:500::1035 G.ROOT-SERVERS.NET. 600504 IN A 192.112.36.4 H.ROOT-SERVERS.NET. 600504 IN A 128.63.2.53 H.ROOT-SERVERS.NET. 600504 IN AAAA 2001:500:1::803f:235 I.ROOT-SERVERS.NET. 600504 IN A 192.36.148.17 J.ROOT-SERVERS.NET. 600504 IN A 192.58.128.30 K.ROOT-SERVERS.NET. 600504 IN A 193.0.14.129 K.ROOT-SERVERS.NET. 600504 IN AAAA 2001:7fd::1 L.ROOT-SERVERS.NET. 600504 IN A 198.32.64.12 M.ROOT-SERVERS.NET. 600504 IN A 202.12.27.33 M.ROOT-SERVERS.NET. 600504 IN AAAA 2001:dc3::35 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Jan 30 08:50:55 2007 ;; MSG SIZE rcvd: 756
-
貴方のネームサーバを使用してください。それはクエリを解決し、正常に運用していますか?
もし、貴方の再帰ネームサーバが試験用ルートヒントファイルを使用するよう設定された場合に、正常にスタートし、動作し続け、クエリを解決するのであれば、試験に合格しています。
私達は、AAAAリソースレコードを含んでいる試験用のルートヒントファイルを読み込んだときにスタートを拒否する、あるいはテスト用のルートネームサーバからの最初のレスポンスにおいてAAAAリソースレコードを受け取った後に正常に動作しない、クエリを適切に解決しないといった、試験がうまくいかなかったサーバに、最も関心があります。この試験の対象は、IPv6トランスポートを有するリゾルバのみを対象とするものではありません。私達は、IPv4トランスポートのみを有するリゾルバの結果についても同様に関心を持っています。 -
試験が終ったら、テストファイル
(aaaa-test-root-hints)を取り除き、
公式のヒントファイルに戻してください。
結果をインターネットコミュニティと共有してください
以下の情報を含むemailをICANNのSSACの研究員に送ることによって、 試験結果をコミュニティと共有されるよう、 SSACおよびRSSAC委員会は奨励いたします。
- DNSネームサーバ(ハードウェアあるいはソフトウェア)製品
- ハードウェアモデル(もし適用可能であれば)
- 運用システムおよびDNSサーバのバージョン(BINDバージョンには、"dig @nameserver version.bind txt chaos")
- AAAAタイプのリソースレコードを含んでいるヒントファイルを設定した場合、貴方のネームサーバの実装は立ち上げに成功したでしょうか失敗したでしょうか? つまり、貴方のネームサーバは、テストルートヒントファイルを置いて再スタートした後にエラーを出した、および/あるいは停止したでしょうか?
-
貴方のネームサーバがIPv4転送上で立ち上げにおいて不具合があった場合
- 不具合、あるいはエラーコードの記述を提供できますか?
- 設定を変更することで不具合状況を解決できたでしょうか?もし、はい、である場合、不具合状況を解決したネームサーバに加えられた全ての設定変更を記述してください。
-
貴方のネームサーバがIPv4転送上で成功裡に立ち上がった場合、
- それはEDNSOをサポートしていますか?
- AAAAリソースレコードを解析できていますか?
- 貴方のネームサーバは、ルートネームサーバのAAAAタイプのレコードのローカルコピーを保持していますか? digコマンドの入力および結果のコピーを提供してください(上に説明した通り、これは結果をファイルにリダイレクトすることによって得ることができます、つまり、 "dig +norec @IP-of-your-recursive-server . NS > testAAAA.txt"); 代わりに、成功したか否かを示してください。もし不具合がある場合には、報告されたドメインシステムレスポンスコードを提供してください。
- ネームサーバは、試験用のルートネームサーバとの最初の交換の後、正しく機能し続けますか? (試験目的で使用されたルートおよびroot-servers.netゾーンには、権威、運用ルートネームサーバのIPv4およびIPv6アドレスが含まれます。)
実行された試験
以下の結果がSSACの研究員に報告されています。
DNS Software | Operating System | Bootstraps when AAAA RRs present in hints file | Primes using IPv4 transport | Supports EDNS0 | Parses AAAA RRs | Functions properly following a priming exchange with a test root name server | Source |
---|---|---|---|---|---|---|---|
BIND 8.2.2-P5 | SunOS Blakey 5.8 | YES | YES | NO | NO | YES | User |
BIND 9.2.4 | Debian GNU/Linux | YES | YES | YES | YES | YES | User |
BIND 9.3.2 | Mac OS X version 10.4.8 | YES | YES | YES | YES | YES | User |
BIND 9.3.4 | FreeBSD 6.2 | YES | YES | YES | YES | YES | User |
BIND 9.4.0 rc2 | FreeBSD 6.2, Suse Linux 10.1 |
YES | YES | YES | YES | YES | User |
djbdns (dnscache 1.05) | Fedora 6 Core | YES | YES | YES | NO | YES | User |
DNS Commander [4] | Windows NT/XP, Linux, Solaris | YES | N/A | YES | YES | N/A | Vendor |
DNSJava | Java (any OS with Java support) | N/A | N/A | YES | YES | N/A | Developer |
ISC BIND 4.9.3-REL | Redhat Fedora Core 6 Linux | YES [5] | YES | NO | NO | YES | User |
ISC BIND 4.9.11-REL | Redhat Fedora Core 6 Linux | YES | NO | YES | YES | User | |
JDNSS [1] | Java (any OS with Java support) | N/A | N/A | NO | N/A | Developer | |
MaraDNS 1.2.12.04 [2] | BSD, Linux, Windows | NO | NO | NO | YES | N/A | Developer |
Men & Mice Suite 5.x with current BIND 8 or BIND 9 | Windows 2000/Windows 2003/Linux/FreeBSD/ MacOSX/Solaris | YES | YES | YES | YES | YES | Vendor |
Mice & Men QuickDNS v1.0 - 3.0 | Apple MacOS Classic (System 7 to MacOS 9) | NO | YES | NO | NO | NO | Vendor |
Microsoft DNS Server | Windows 2000 5.00.2195 SP4 | YES | YES | NO | NO | YES | User |
Microsoft DNS Server | Windows 2003 | YES | YES | YES | YES | YES | User |
Nominum CNS 1.6.5.0 | Solaris 10 | YES | YES | YES | YES | YES | Vendor |
Posadis DNS version 6 | Windows XP SP2 | YES | NO | NO | YES | YES | User |
PowerDNS Recursor 3.1.4 | Debian GNU/Linux | YES | YES | YES | YES | YES | User |
QuickDNS 3.5 to 4.6 with current BIND 8 or BIND 9 | Windows 2000/Windows 2003/Linux/FreeBSD/ MacOSX/ Solaris | YES | YES | YES | YES | YES | Vendor |
SimpleDNS version 4.00.06 [3] | Windows XP SP2 | YES | YES | NO | YES | YES | User, Vendor |
[1] リーフあるいはスタブリゾルバとして使うこと再帰検索を行わず、かつ、開始しない。
[2] 再帰リゾルバはIPv6サポートを有していません。IPv6アドレスにバインドするには再帰問い合わせは無効とされなければなりません。
[3] 初期化はあらかじめ設定された間隔で行われます(設定しなければ7日に1度)。
[4] 本製品は、最初のクエリを行わず、ネームサーバで設定されたルートヒントに依存しません。
[5] サーバは、sslog("Unknown type: AAAA"、"database format error (AAAA)"および、"cache zone '.' rejected due to errors")に記録されたエラーメッセージにも拘わらず運用されます。
試験期間
ネームサーバは、2007年2月1日より2007年5月1日まで試験を行うために利用することができます。
2007年2月8日公開