Cloudflare Gateway: DNS64 をロケーション設定か EDNS 65051 で有効にする
IPv6 だけのネットワーク(NAT64 前提)向けに、Gateway の DNS で A レコードから AAAA を合成する DNS64 を、ロケーション単位でもクエリ単位でも頼めるようになった。
どんなときに使う?
- 社内やラボを IPv6 のみで組み、IPv4 しかないサイトへは NAT64 経由で出したいとき
- 一部の端末・クエリだけで DNS64 を試したいとき
やり方
次のどれかで DNS64 を要求する(既定はオフ。それぞれ独立して効く)。
- DNS ロケーションの設定で「Enable DNS64」をオンにする
- クエリに 空の EDNS オプション
65051を付ける - 既存の DoH ヘッダー
cf-dns-options: dns64(引き続き使える)
dig での確認例:
dig @"<DNS_RESOLVER_IP>" ipv4only.arpa AAAA +ednsopt=65051 +shortipv4only.arpa は IPv4 しか持たない確認用の名前なので、AAAA が返れば合成されている。
UDP・TCP・DoT・DoH のどれでも使える。
注意点
- DNS64 だけでは通信できない。合成したアドレス宛の通信を IPv4 に変換する NAT64 が経路上に必要
- デュアルスタックの端末で有効にすると、本来 IPv4 で届くサイトにも NAT64 経由で行くことになる。対象ロケーションを絞る
- API で設定を更新するときの挙動などは DNS64 のドキュメントを確認する