はじめに
IPv6 と IPv4 の両方の接続を持つデュアル スタック ネットワークが一般的になりましたが、この接続はまだ普遍的なものではありません。IPv6 への移行の次のステップに進み、IPv6 専用ネットワークをデプロイするには、ネットワーク事業者が IPv4 専用のネットワークとサービスへのアクセスを維持する必要があります。IPv4 への IPv6 アクセスを実現するための移行メカニズムはいくつかあります。多くのネットワーク オペレーターに広く採用されている選択肢は NAT64 です。IPv4-IPv6 の変換機能とともに NAT64 ゲートウェイを使用すると、IPv6 のみのクライアントは、NAT64 ゲートウェイにルーティングする接頭辞で始まる合成 IPv6 アドレスを介して IPv4 専用サービスに接続できます。
DNS64 は、IPv4 のみの宛先用にこれらの合成 IPv6 アドレスを持つ AAAA レコードを返す DNS サービスです(DNS には A ですが AAAA レコードはありません)。これにより、IPv6 のみのクライアントは、他の構成なしで NAT64 ゲートウェイを使用できます。Google Public DNS64 は、予約済みの NAT64 プレフィックス 64:ff9b::/96 を使用して、グローバル サービスとして DNS64 を提供しています。
重要: 始める前に
Google Public DNS64 を使用するようにシステムを構成する前に、サービスの使用に影響する可能性がある次の制限事項を考慮してください。
Google Public DNS64 は、予約済みの NAT64 プレフィックス
64:ff9b::/96
を使用して NAT64 ゲートウェイにアクセスできるネットワークでのみ使用することを目的としています。NAT64 ゲートウェイに到達できないネットワークでは、この方法を使用しないでください。Google Public DNS64 は、公共のインターネットから解決できないプライベート ドメインへのアクセスは提供しませんが、パブリック DNS レスポンスで返されるプライベート(RFC 1918)IPv4 アドレスの AAAA レコードを返すことはできます。
Google Public DNS64 はデュアル スタック ネットワークまたはホストには不要ですが、機能します。合成された AAAA レコードと元の A レコードの両方を返します(これにより、IPv4 経由ホストは IPv4 で直接アクセスされるのではなく、一般的に NAT64 接続が高速になります)。
Google Public DNS64 の構成
上記の Google Public DNS64 の制限に問題がない場合は、Google Public DNS の通常のスタートガイドの手順に沿って、標準のリゾルバ アドレスを次のコードに置き換えます。
- 2001:4860:4860::6464
- 2001:4860:4860::64
他の IPv6 アドレスを構成しない: DNS64 の信頼性が低下します。Google Public DNS IPv4 アドレス(8.8.8.8 または 8.8.4.4)も構成した場合、デュアルスタック ホストで合成の AAAA レコードが取得されないことがあります。
デバイスによっては、IPv6 アドレスの 8 つすべての部分に個別のフィールドを使用し、::
IPv6 の略語構文を受け入れることができない場合があります。このようなフィールドの場合は、次のように入力します。
- 2001:4860:4860:0:0:0:0:6464
- 2001:4860:4860:0:0:0:0:64
4 桁の 16 進数が必要な場合は、0
エントリを 0000
に展開し、64
エントリを 0064
に展開します。
セキュア DNS64
Google Public DNS64 は、DNS over HTTPS(DoH)と DNS over TLS(DoT)で、dns.google
ではなく dns64.dns.google
ドメインを使用したセキュアな DNS トランスポートをサポートしています。このドメインは上記の IPv6 アドレスに解決され、これらのアドレスのポート 443 と 853 の DoH サービスと DoT サービスに dns64.dns.google
の TLS 証明書が存在します。
Google Public DNS64 の RFC 8484 DoH URI テンプレートは https://dns64.dns.google/dns-query{?dns}
です。JSON API は https://dns64.dns.google/resolve?name=ipv4only.arpa&type=AAAA のような URL でもサポートされています(IPv6 対応システムからのみアクセス可能)。
DNS64 設定のテスト
スタートガイドのテスト手順に沿って、DNS64 の構成が機能していることを確認できます。NAT64 ゲートウェイにアクセスできない場合は、Wikipedia に、デプロイできる NAT64 の実装がいくつかリストされています。
NAT64 実装の一部は Google Public DNS64 で機能しないことが知られています。
MacOS X 10.11 以降には NAT64/DNS64 が組み込まれていますが、IPv6 に合格できないため、Google Public DNS64 リゾルバへのアクセスが防止されます。インターネット接続が IPv4 のみの IPv6 専用デバイスをテストするためのものであり、付属の DNS64 のみで動作します(Google Public DNS に直接接続された IPv6 専用のデバイスでは、8.8.8.8 と 8.8.4.4 を使用するように MacOS X システムを構成できます)。
Cisco ASA 9.0 以降では NAT64 が組み込まれていますが、既知のプレフィックス
64:ff9b::/96
はサポートされていないため、独自のプレフィックスを選択する必要があります。DNS64 は実装されませんが、NAT64 ゲートウェイを通過する DNS トラフィックの検査と NAT 書き換えが行われます。Cisco ASA の背後にある IPv6 のみのデバイスは、次のリゾルバ アドレスを構成することで、Google Public DNS を使用して IPv4 接続を確立できます。
NAT64 プレフィックス
::0808:0808
(Cisco ASA NAT64 による 8.8.8.8)NAT64 プレフィックス
::0808:0404
(Cisco ASA NAT64 による 8.8.4.4)
これにより、Cisco ASA NAT64 経由で Google Public DNS にクエリがルーティングされます。いくつかの Cisco ASA 構成が追加されると、AAAA クエリは A クエリに変換され、A レスポンスは構成済みの接頭辞を使用して AAAA に変換されます。
NAT64 アドレスと Google Public DNS IPv6 リゾルバ アドレス(2001:4860:4860::8888 または 2001:4860:4860::8844)の両方を使用すると機能しません。一方からのネガティブ レスポンスが他方に対して再度クエリされないためです。すべてのクエリについて、IPv6 または IPv4 DNS 解決を選択する必要があります。