Cloudflare DNS Firewall について、よくある質問への回答をまとめます。
DNS Firewall は、お客様のネームサーバーを交互に使います。より速い上流ネームサーバーへクエリが行きやすくなるアルゴリズムを使います。
DNS Firewall のキャッシュ保持期間は、割り当てメモリに応じて決まります。
割り当てメモリに余裕がある限り、TTL が切れても Cloudflare はキャッシュ項目を強制的には削除しません。この動作により、ネームサーバーがオフラインでも、キャッシュから古いオブジェクトを返せます。
はい。キャッシュの扱いでは、SERVFAIL はほかの否定応答と同じです。デフォルトの TTL は 30 秒です。クラスターの否定キャッシュ TTL は、Cloudflare ダッシュボード、または API(negative_cache_ttl パラメーター)で変更できます。
はい。DNS プロバイダーは、クライアントの IP に応じた地理的な DNS 回答を返すため、EDNS Client Subnet(ECS)(RFC 7871 ↗)でクライアント IP を確認したいことがあります。EDNS Client Subnet を有効にすると、DNS Firewall は DNS クエリと一緒にクライアントの IP サブネットを上流ネームサーバーへ転送します。
EDNS が有効な場合、DNS Firewall はクライアントの IP サブネットに基づき、キャッシュから地理的に正しい回答を返します。そのために、DNS Firewall はキャッシュを分割します。例:
- リゾルバーが、クライアント
192.0.2.0/24向けの回答を探していると伝えます。 - DNS Firewall は、上流ネームサーバーへリクエストをプロキシして回答を取得します。
- DNS Firewall は上流ネームサーバーからの回答をキャッシュしますが、その
/24向けだけです。 - 次に
203.0.113.0/24が同じ DNS 質問をすると、キャッシュではなく、再び上流ネームサーバーから回答が返ります。
EDNS データを送らないリゾルバーもあります。Cloudflare ダッシュボードでクラスターの ECS fallback を有効にするか、API で ecs_fallback パラメーターを true にすると、着信 DNS クエリに EDNS データがない場合に限り、DNS Firewall はリゾルバーの IP サブネットを転送します。
はい。デフォルトの TTL は 30 秒です。クラスターの否定キャッシュ TTL は、Cloudflare ダッシュボード、または API(negative_cache_ttl パラメーター)で設定できます。この設定は、ステータスが REFUSED、NXDOMAIN、SERVFAIL の応答の TTL に影響します。
DNS Firewall クラスターの IP からネームサーバーホスト名を指す PTR レコードを設定するには、次の API エンドポイントを使います。