デフォルトでは、Cloudflare Zero Trust はローカル解決に使う一般的なトップレベルドメインを、Gateway へ送らず除外します。これらのトップレベルドメインは、デバイスのプライマリインターフェイスに設定されたローカル DNS リゾルバーで解決されます。
Local Domain Fallback リストにドメインを追加し、Gateway リゾルバーの代わりに使う DNS サーバーを指定できます。Cloudflare One Client(旧 WARP)は、これらのリクエストを設定したフォールバックサーバーへ直接プロキシします。
Local Domain Fallback は、Cloudflare One Client を実行しているデバイスにのみ適用されます。
Local Domain Fallback の対象となる DNS リクエストは Gateway リゾルバーを迂回するため、Gateway の DNS ポリシーや DNS ログの対象になりません。カスタムリゾルバーへ DNS クエリを送りつつ Gateway のフィルタリングも適用したい場合は、リゾルバーポリシー を使います。同じデバイスに Local Domain Fallback とリゾルバーポリシーの両方がある場合、Cloudflare はクライアント側の Local Domain Fallback ルールを先に適用します。
Local Domain Fallback や リゾルバーポリシー で、すべての *.amazonaws.com の DNS 解決を AWS Route 53 Resolver 経由にしないでください。
一部の AWS エンドポイント(ssm.us-east-1.amazonaws.com など)は公開 AWS エンドポイントであり、内部 VPC では解決できません。Cloudflare One Client を使っているユーザーで、AWS Console の機能が動かなくなることがあります。
内部 VPC リゾルバーへ送るのは、特定の Route 53 ゾーン、または VPC Endpoint(vpce.amazonaws.com など)だけにしてください。
Local Domain Fallback の対象ドメインを表示するには:
- Cloudflare ダッシュボード ↗ で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
- 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
- Local Domain Fallback までスクロールし、Manage を選択します。
このページには、Gateway から除外されているドメインの一覧が表示されます。いつでもリストへドメインを 追加 または 削除 できます。
デバイスに適用されているフォールバックドメインを確認するには、次のいずれかを行います。
- Cloudflare ダッシュボード ↗ で Zero Trust > Team & Resources > Devices を開き、対象デバイスと Last active device profile を確認し、上記の手順 に従います。
- (デスクトップのみ)対象デバイスのターミナルで
warp-cli settingsを実行し、出力の fallback domains セクションを確認します。 - (デスクトップのみ)デバイスの クライアント診断ログ を収集し、
warp_settings.txtの fallback domain セクションを確認します。
Local Domain Fallback の一覧にドメインを追加する手順は次のとおりです。
- Cloudflare ダッシュボード ↗ で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
- 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
- Local Domain Fallback までスクロールし、Manage を選択します。
-
Domain に、プライベート DNS サーバーで解決したい apex ドメイン(
example.com)を入力します。apex ドメイン配下のプレフィックスはすべて Local Domain Fallback の対象になります(つまり、example.comは*.example.comとして解釈されます)。 -
DNS Servers に、そのドメイン名を解決する DNS サーバーの IP アドレスを入力します。パフォーマンスの問題を避けるため、Cloudflare はサーバーを最大 8 台までにすることを推奨します。
-
任意の説明を入力し、Save domain を選択します。
Local Domain Fallback の一覧は、特定の デバイスプロファイル にスコープされます。デバイスプロファイルに対応する Local Domain Fallback リソースがない場合、そのデバイスは手順 2 に表示されるデフォルトのローカルドメインを使います。
-
cloudflare_api_token↗ に次の権限を追加します。Zero Trust Write
-
(任意)複数のデバイスプロファイルで再利用できるドメインの一覧を作成します。たとえば、デバイスプロファイルと同じモジュールでローカル値を宣言できます。
local-domains.local.tftf locals { default_local_domains = [ # Default Local Domain Fallback entries recommended by Cloudflare { suffix = "corp" }, { suffix = "domain" }, { suffix = "home" }, { suffix = "home.arpa" }, { suffix = "host" }, { suffix = "internal" }, { suffix = "intranet" }, { suffix = "invalid" }, { suffix = "lan" }, { suffix = "local" }, { suffix = "localdomain" }, { suffix = "localhost" }, { suffix = "private" }, { suffix = "test" } ] } -
デフォルトのデバイスプロファイルに Local Domain Fallback を設定するには、
cloudflare_zero_trust_device_default_profile_local_domain_fallback↗ リソースを使います。カスタムのデバイスプロファイルに Local Domain Fallback を設定するには、cloudflare_zero_trust_device_custom_profile_local_domain_fallback↗ を使います。例:device-profiles.tftf resource "cloudflare_zero_trust_device_custom_profile_local_domain_fallback" "example" { account_id = var.cloudflare_account_id policy_id = cloudflare_zero_trust_device_custom_profile.example.id domains = concat( # Global entries local.default_local_domains, # Profile-specific entries [ { suffix = "example.com" description = "Domain for local development" dns_server = ["1.1.1.1", "192.168.0.1"] } ] ) }
suffix には、プライベート DNS サーバーで解決したい apex ドメイン(example.com)を指定します。apex ドメイン配下のプレフィックスはすべて Local Domain Fallback の対象になります(つまり、example.com は *.example.com として解釈されます)。dns_server には、そのドメイン名を解決する DNS サーバーの IP アドレスを入力します。パフォーマンスの問題を避けるため、Cloudflare はサーバーを最大 8 台までにすることを推奨します。
Cloudflare One Client はすべてのサーバーを試し、no records found であっても、最も速い応答を常に使います。ドメインごとに少なくとも 1 台の DNS サーバーを指定することを推奨します。値を指定しない場合、Cloudflare One Client は起動前にデバイスで使われていた DNS サーバーを特定し、Local Domain Fallback 一覧の各ドメインにそのサーバーを使います。
Cloudflare One Client は、Split Tunnel の設定 に従って、DNS トラフィックを Local Domain Fallback サーバー へルーティングします。クエリがプライベート DNS サーバーに届くようにするには、次を確認します。
-
DNS サーバーに WARP トンネル内からのみ到達できる場合(
cloudflaredや Cloudflare WAN 経由など):-
Networking > Routes を開き、DNS サーバーが Cloudflare に接続されていることを確認します。DNS サーバーを接続するには、プライベートネットワーク を参照してください。
-
Split Tunnel の設定 で、DNS サーバーの IP が WARP トンネル経由でルーティングされることを確認します。
-
-
DNS サーバーに WARP トンネル外からのみ到達できる場合(サードパーティ VPN 経由など)は、DNS サーバーの IP が WARP トンネルから除外されている ことを確認します。
詳細は Cloudflare One Client による DNS リクエストの扱い を参照してください。
- Cloudflare ダッシュボード ↗ で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
- 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
- Local Domain Fallback までスクロールし、Manage を選択します。
- リスト内のドメインを探し、Delete を選びます。
そのドメインは、即時に Gateway DNS ポリシーの除外対象から外れます。
デフォルトでは、WARP は 逆引き DNS クエリ ↗ を公開 DNS サーバーへ送ります。内部 IP アドレスに対応するドメイン名を調べるには、内部 DNS サーバーの IP を指す in-addr.arpa(IPv4)または ip6.arpa(IPv6)の Local Domain Fallback エントリを追加 します。in-addr.arpa と ip6.arpa は、逆引き DNS クエリ用に 予約 ↗ されたトップレベルドメインです。これらのドメインに Local Domain Fallback エントリを追加すると、すべての逆引き DNS クエリ(例: dig -x 1.1.1.1)がローカル DNS サーバーで解決されます。
- Split Tunnels - 特定の IP またはドメインを含める、または除外して、Cloudflare One Client を通るトラフィックを制御します。
- ファイアウォールと Cloudflare One Client - ファイアウォールの内側で Cloudflare One Client を導入し接続するために許可する IP、ドメイン、ポートを確認します。