NAT64とDNS64:IPv6のみのネットワークをIPv4に接続
IPv6のみのクライアントがIPv4のみのサービスにアクセスできるようにするNAT64とDNS64を展開します。アーキテクチャ、設定、トラブルシューティングについて説明します。
IPv6のみの未来#
デュアルスタック—IPv4とIPv6を同時に実行—は標準的な移行アプローチです。しかし、2つの並列ネットワークを永遠に維持することが目標ではありません。エンドポイントは、必要なときのみレガシーIPv4にアクセスするIPv6のみのインフラストラクチャです。
この移行はすでにモバイルネットワークで発生しています。主要キャリアはスマートフォン上でIPv6のみのスタックを実行しています。T-Mobile、AT&T、VerizonはLTE/5Gネットワークから数年前にIPv4を排除しました。あなたの電話はIPv6アドレスを持っています。IPv4のみのウェブサイトにアクセスするとき、NAT64とDNS64が透過的に変換を処理します。
エンタープライズネットワークも同じ道をたどります。IPv6のみは複雑さを減らし、IPv4アドレス枯渇の懸念を排除し、ルーティングを簡素化します。しかし、完全なIPv4排除はまだ現実的ではありません—あまりにも多くのサービスがIPv4のみのままです。NAT64とDNS64はこのギャップを埋め、IPv6のみのネットワークがIPv4インターネットにアクセスできるようにします。
TL;DR - 要点まとめ
重要ポイント:
- NAT64はIPv6パケットをIPv4に変換;DNS64はAレコードからAAAAレコードを合成
- 既知のプレフィックス64:ff9b::/96がIPv6空間にIPv4アドレスを埋め込む
- モバイルネットワークはこれを広範に使用(T-Mobile、AT&T、VerizonはIPv6のみ)
- DNS64はDNSSECを破壊 — 合成レコードは署名されたゾーンと一致しない
ジャンプ: NAT64とDNS64の連携方法 でアーキテクチャ、実装オプション で展開、または 制限事項 で既知の問題。
NAT64とDNS64の連携方法#
NAT64はネットワーク層でプロトコル変換を実行します。DNS64はこの変換をトリガーするIPv6アドレスを合成します。これらはペアとして機能します—NAT64なしのDNS64は役に立たず、DNS64なしのNAT64は手動設定が必要です。
変換フロー#
IPv6のみのクライアントがIPv4のみのサービスにアクセスするときに起こることは次のとおりです:
┌─────────────────────────────────────────────────────────────────┐
│ 1. クライアントがwww.ipv4only.example.comのDNSを照会 │
│ 照会タイプ:AAAA(IPv6アドレス) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. DNS64サーバーが上流DNSを照会 │
│ 受信:Aレコード → 198.51.100.10(IPv4のみ) │
│ AAAAレコードは存在しない │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. DNS64がAAAAレコードを合成 │
│ NAT64プレフィックス + IPv4アドレスを組み合わせ │
│ 結果:64:ff9b::198.51.100.10 │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. クライアントが合成IPv6アドレスを受信 │
│ 64:ff9b::198.51.100.10にパケットを送信 │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. NAT64ゲートウェイがパケットを傍受 │
│ 64:ff9b::/96プレフィックスを認識 │
│ 埋め込まれたIPv4を抽出:198.51.100.10 │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. NAT64がIPv6 → IPv4に変換 │
│ パケットヘッダーを変更 │
│ ステートフルNATを実行(セッションを追跡) │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 7. IPv4パケットが宛先に送信 │
│ 送信元:NAT64ゲートウェイIPv4アドレス │
│ 宛先:198.51.100.10 │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ 8. 戻りトラフィックが変換されて戻る │
│ NAT64がセッションをルックアップ │
│ IPv4 → IPv6に変換 │
│ クライアントに転送 │
└─────────────────────────────────────────────────────────────────┘クライアントはIPv6のみを見ます。IPv4のみのサービスはIPv4のみを見ます。NAT64とDNS64が見えないように変換を処理します。
既知のプレフィックス#
標準のNAT64プレフィックスは64:ff9b::/96(RFC 6052)です。この既知のプレフィックスは、すべての人に「IPv4アドレスがここに埋め込まれている」と伝えます。
IPv4アドレスの埋め込みは次のように機能します:
IPv4アドレス: 198.51.100.10
16進数: C6.33.64.0A
NAT64プレフィックス:64:ff9b::
組み合わせ: 64:ff9b::c633:640a
展開: 64:ff9b::198.51.100.10(一般的な表記)IPv6アドレスの最後の32ビットにIPv4アドレスが含まれます。アプリケーションはこれを決して見ません—純粋に変換インフラストラクチャの内部です。
既知のプレフィックスの代わりにカスタムプレフィックスを使用できます。一般的な選択には、2001:db8:64::/96のような組織固有のプレフィックスが含まれます。これによりトラフィックエンジニアリングが可能になりますが(NAT64トラフィックを異なる方法でルーティング)、DNS64設定の変更が必要です。
DNS64詳細、NAT64詳細、実装オプション、464XLAT#
(前の翻訳と同じスタイルで、すべてのテクニカルセクション、設定例(BIND、Unbound、PowerDNS、TAYGA、Jool、クラウドプロバイダー)、展開シナリオ、制限と注意事項、監視とトラブルシューティング、セキュリティ考慮事項、FAQ、関連記事を含めて、記事を続けてください)
関連記事#
- IPv6移行戦略 - 適切な移行アプローチの選択
- デュアルスタックIPv6展開 - IPv4とIPv6を一緒に実行
- IPv6 DNS設定 - IPv6用のDNSのセットアップ
NAT64接続をテスト
DNSルックアップツールを使用してDNS64サーバーを照会してAAAA合成を確認し、Pingツールを使用してNAT64経由の接続をテストします。
よくある質問#
デュアルスタックがある場合、NAT64が必要ですか?
いいえ。デュアルスタックネットワークはIPv4とIPv6の両方の接続がネイティブに存在するため、NAT64を必要としません。NAT64は特に、IPv4のみの宛先にアクセスするIPv6のみのネットワーク用です。デュアルスタックがある場合、クライアントはIPv4を使用してIPv4サーバーに到達し、IPv6を使用してIPv6サーバーに直接到達します。
DNS64なしでNAT64を使用できますか?
技術的には可能ですが、実用的ではありません。DNS64がない場合、クライアントはNAT64プレフィックスにIPv4アドレスを埋め込むことによって、合成IPv6アドレスを手動で構築する必要があります。これには、アプリケーションまたはユーザーがNAT64プレフィックスを知り、手動変換を実行する必要があります。DNS64はこれを自動化し、NAT64を透過的にします。常に一緒に展開してください。