6. Deployment Notes (展開に関する注意事項)
DNS64は, 一部のIPv4のみおよびIPv6のみのネットワークを持つインターネットワーク環境でIPv6展開を支援する戦略の一部となることを意図していますが, IPv4のみまたはデュアルスタックコンテキストで展開される可能性のあるものと互換性がないことを認識することが重要です。
6.1. DNS Resolvers and DNS64 (DNSリゾルバとDNS64)
DNS64機能を認識していないフルサービスリゾルバは, 混合モードの反復および転送リゾルバとして動作するように (誤って) 設定される可能性があります。ネイティブIPv4コンテキストでは, この種の設定は動作するように見えるかもしれません。DNS64機能を認識していないと適切に動作させることは不可能です。なぜなら, おそらくある時点でIPv4のみのグルーレコードを取得し, それらを解決に使用しようとするからです。返される結果はAレコードのみを含み, DNS64機能を実行する能力がなければ, リゾルバは必要なAAAAクエリに応答できません。
6.2. DNSSEC Validators and DNS64 (DNSSEC検証とDNS64)
既存のDNSSEC検証機 (つまり, DNS64を認識していないもの) は, (クエリ時にCDを設定しなかったとしても) DNS64から来るすべてのデータを改ざんされたものとして拒否する可能性があります。DNS64の背後で検証が必要な場合, 検証機はDNS64機能自体を実行する方法を知っている必要があります。あるいは, 検証ホストはDNS64との信頼できる接続を確立し, DNS64再帰リゾルバがそれに代わってすべての検証を実行できるようにする場合があります。
6.3. DNS64 and Multihomed and Dual-Stack Hosts (DNS64とマルチホームおよびデュアルスタックホスト)
6.3.1. IPv6 Multihomed Hosts (IPv6マルチホームホスト)
合成AAAAレコードは, それらが構築されたネットワークコンテキストに基づいて構築される場合があります。ホストが複数のネットワークのリゾルバにDNSクエリを送信する場合, それらの一部がDNS64から応答を受信する可能性がありますが, すべてがNAT64を介して接続されているわけではありません。たとえば, システムに2つのインターフェース, i1とi2があるとします。i1はNAT64を介してIPv4インターネットに接続されていますが, i2はネイティブIPv6接続のみを持っています。i1は特定のNAT64用に設定されたDNS64からAAAA応答を受信する可能性があります。そのAAAA応答に含まれるIPv6アドレスは, i2を介して何とも接続しません。
+---------------+ +-------------+
| i1 (IPv6)+----NAT64--------+IPv4 Internet|
| | +-------------+
| host |
| | +-------------+
| i2 (IPv6)+-----------------+IPv6 Internet|
+---------------+ +-------------+
図1: IPv6マルチホームホスト
この例は, ホストが1つのインターフェースからのDNS応答をそのインターフェースにローカルなものとして扱うことが一般的に望ましい理由を示しています。1つのインターフェースで受信した応答は, 他のインターフェースでは機能しません。DNS応答をグローバルに使用しようとするホストは, これらのケースで予想外の失敗に遭遇する可能性があります。
問題は2つのインターフェースがあることではなく, 2つのネットワークが関与していることであることに注意してください。同じ結果は, 2つの異なるネットワークにルーティングされた単一のインターフェースでも達成できます。
6.3.2. Accidental Dual-Stack DNS64 Use (偶発的なデュアルスタックDNS64使用)
同様に, i1がIPv6接続を持ち, NAT64を通じてIPv4インターネットに接続できるが, i2がネイティブIPv4接続を持っているとします。この場合, i1は, ネイティブIPv4を介してより良く到達できる合成AAAAからIPv6アドレスを受信する可能性があります。繰り返しますが, これは2つのネットワークが関与しているために発生することを強調する価値があります。
+---------------+ +-------------+
| i1 (IPv6)+----NAT64--------+IPv4 Internet|
| | +-------------+
| host |
| | +-------------+
| i2 (IPv4)+-----------------+IPv4 Internet|
+---------------+ +-------------+
図2: 偶発的なデュアルスタックDNS64使用
デュアルスタックホストのデフォルト設定は, IPv6がIPv4よりも優先されることです ([RFC3484])。その配置では, ホストはネイティブIPv4がより望ましい場合でも, しばしばNAT64を使用します。このため, インターネットへのIPv4接続を持つホストはDNS64の使用を避けるべきです。これは, ISPがクライアントにDNSリゾルバを提供する際に部分的に解決できますが, NAT64がネイティブIPv4接続を使用すべきときに決して使用されないという保証はありません。ネイティブIPv4トランジットが常に優先されることを保証する汎用メカニズムはありません。なぜなら, DNS64に無知なホストにとって, DNS64は通常のDNSサーバーのように見えるからです。NAT64のオペレータは, 必要でない場合でもNAT64を通過するトラフィックを期待すべきです。
6.3.3. Intentional Dual-Stack DNS64 Use (意図的なデュアルスタックDNS64使用)
最後に, i2上のIPv4接続がLANとのみであり, IPv4インターネットとではない場合を考えます。IPv4インターネットはNAT64を使用してのみアクセス可能です。この場合, DNS64がLAN内のホストに対して合成AAAA応答を合成しないこと, またはDNS64がLAN内のホストを認識し, LAN内のホストに対してコンテキスト依存の応答 ("split view" DNS応答) を提供することが重要です。任意のスプリットビューDNS配置と同様に, オペレータは1つのコンテキストから別のコンテキストへのデータの漏洩, および1つのコンテキストからアクセス可能なノードが他のコンテキストからアクセスできないために発生する失敗に備える必要があります。
+---------------+ +-------------+
| i1 (IPv6)+----NAT64--------+IPv4 Internet|
| | +-------------+
| host |
| |
| i2 (IPv4)+---(local LAN only)
+---------------+
図3: 意図的なデュアルスタックDNS64使用
DNS64の展開者は, 一部の状況では, DNS64をデュアルスタックホストで利用可能にすると, ホストがネイティブIPv4を介して送信する代わりにNAT64経由でパケットを送信することを優先する原因となり, NATに伴うパフォーマンスまたは機能 (またはその両方) の低下を招くことを認識することが重要です。同時に, 一部のホストはIPv6アドレスでプロビジョニングされたDNSサーバーについて学習できないか, 単にIPv6経由でDNSパケットを送信できません。