Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Local Domain Fallback

最終更新 Markdown で表示Agent セットアップ

デフォルトでは、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 ルールを先に適用します。

AWS

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 の対象ドメインを表示するには:

  1. Cloudflare ダッシュボード で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
  2. 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
  3. Local Domain Fallback までスクロールし、Manage を選択します。

このページには、Gateway から除外されているドメインの一覧が表示されます。いつでもリストへドメインを 追加 または 削除 できます。

デバイスに適用されているフォールバックドメインを確認するには、次のいずれかを行います。

ドメインを追加する

Local Domain Fallback の一覧にドメインを追加する手順は次のとおりです。

  1. Cloudflare ダッシュボード で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
  2. 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
  3. Local Domain Fallback までスクロールし、Manage を選択します。
  1. Domain に、プライベート DNS サーバーで解決したい apex ドメイン(example.com)を入力します。apex ドメイン配下のプレフィックスはすべて Local Domain Fallback の対象になります(つまり、example.com*.example.com として解釈されます)。

  2. DNS Servers に、そのドメイン名を解決する DNS サーバーの IP アドレスを入力します。パフォーマンスの問題を避けるため、Cloudflare はサーバーを最大 8 台までにすることを推奨します。

  3. 任意の説明を入力し、Save domain を選択します。

Local Domain Fallback の一覧は、特定の デバイスプロファイル にスコープされます。デバイスプロファイルに対応する Local Domain Fallback リソースがない場合、そのデバイスは手順 2 に表示されるデフォルトのローカルドメインを使います。

  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. (任意)複数のデバイスプロファイルで再利用できるドメインの一覧を作成します。たとえば、デバイスプロファイルと同じモジュールでローカル値を宣言できます。

    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"
    }
    	]
    }
  3. デフォルトのデバイスプロファイルに 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 経由など):

    1. Networking > Routes を開き、DNS サーバーが Cloudflare に接続されていることを確認します。DNS サーバーを接続するには、プライベートネットワーク を参照してください。

    2. Split Tunnel の設定 で、DNS サーバーの IP が WARP トンネル経由でルーティングされることを確認します。

  • DNS サーバーに WARP トンネル外からのみ到達できる場合(サードパーティ VPN 経由など)は、DNS サーバーの IP が WARP トンネルから除外されている ことを確認します。

詳細は Cloudflare One Client による DNS リクエストの扱い を参照してください。

ドメインを削除する

  1. Cloudflare ダッシュボード で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
  2. 表示または変更したい デバイスプロファイル を探し、Configure を選択します。
  3. Local Domain Fallback までスクロールし、Manage を選択します。
  1. リスト内のドメインを探し、Delete を選びます。

そのドメインは、即時に Gateway DNS ポリシーの除外対象から外れます。

内部 IP の逆引き DNS

デフォルトでは、WARP は 逆引き DNS クエリ を公開 DNS サーバーへ送ります。内部 IP アドレスに対応するドメイン名を調べるには、内部 DNS サーバーの IP を指す in-addr.arpa(IPv4)または ip6.arpa(IPv6)の Local Domain Fallback エントリを追加 します。in-addr.arpaip6.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、ドメイン、ポートを確認します。

役に立ちましたか?