Skip to content

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

Split Tunnels

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

Split Tunnels では、IP アドレスまたはドメインを Cloudflare One Client(旧称 WARP)経由から除外または含めるよう設定できます。よくある用途は、VPN と並行して Cloudflare One Client を動かす場合(Exclude モード)や、特定のプライベートネットワークへのアクセスを提供する場合(Include モード)です。

Split Tunnels は、ネットワークレベルで Gateway が可視化できる対象を制御します。そのため、エンドユーザーへ変更を展開する前に、すべての変更をテストすることを推奨します。

Split Tunnels モードを変更する

  1. Cloudflare ダッシュボードZero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
  2. 変更する デバイスプロファイル を探し、Configure を選びます。
  3. Split Tunnels までスクロールします。
  4. (任意)現在の Split Tunnel 設定を確認するには、Manage を選びます。選んでいるモードに応じて、Cloudflare Zero Trust が除外または含める IP とドメインの一覧が表示されます。モードを切り替えるとエントリはデフォルトに戻るため、Split Tunnel のエントリはコピーしておくことを推奨します。
  5. Split Tunnels でモードを選びます。
    • Exclude IPs and domains — (デフォルト)指定した IP とドメインを除き、すべてのトラフィックを Cloudflare Gateway へ送ります。
    • Include IPs and Domains — 指定した IP またはドメイン向けのトラフィックだけを Cloudflare Gateway へ送ります。それ以外のトラフィックは Gateway をバイパスし、ネットワークポリシーや HTTP ポリシーではフィルタされなくなります。一部の機能を使うには、Zero Trust ドメイン を手作業で追加する必要があります。
  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. 変更する cloudflare_zero_trust_device_default_profile または cloudflare_zero_trust_device_custom_profile リソースを選ぶか、新しいデバイスプロファイルを作成 します。

  3. デバイスプロファイルで、exclude または include 引数のどちらかを設定します。同じデバイスプロファイルで excludeinclude の両方は設定できません。

    a. Exclude モードで Split Tunnel のルートを管理するには、exclude 引数を使います。

    resource "cloudflare_zero_trust_device_custom_profile" "exclude_example" {
    	account_id            = var.cloudflare_account_id
    	name                  = "Custom profile in Split Tunnels Exclude mode"
    	enabled               = true
    	precedence            = 101
    	service_mode_v2       = {mode = "warp"}
    	match 								=  "identity.email == \"[email protected]\""
    
    	exclude = [{
    			address = "10.0.0.0/8"
    			description = "Example route to exclude from WARP tunnel"
    	}]
    }

    この例では、10.0.0.0/8 向けのトラフィックを除き、すべてのトラフィックを Cloudflare Gateway へ送ります。Cloudflare が推奨するデフォルトの IP とドメインを除外するには、ルートを追加する を参照してください。

    b. Include モードで Split Tunnel のルートを管理するには、include 引数を使います。

    resource "cloudflare_zero_trust_device_custom_profile" "include_example" {
    	account_id            = var.cloudflare_account_id
    	name                  = "Custom profile in Split Tunnels Include mode"
    	enabled               = true
    	precedence            = 101
    	service_mode_v2       = {mode = "warp"}
    	match 								=  "identity.email == \"[email protected]\""
    
    	include = [{
    			address = "10.0.0.0/8"
    			description = "Example route to include in WARP tunnel"
    	}]
    }

    この例では、10.0.0.0/8 向けのトラフィックだけを Cloudflare Gateway へ送ります。

このデバイスプロファイルを使うすべてのクライアントは、新しいモードとそのデフォルトのルート設定に切り替わります。次に、Split Tunnel の設定からルートを 追加 または 削除 します。

ルートを追加する

  1. Cloudflare ダッシュボードZero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。

  2. 変更する デバイスプロファイル を探し、Configure を選びます。

  3. Split Tunnels で、Split Tunnels のモードExcludeInclude かを確認します。

  4. Manage を選びます。

  5. ルートは IP アドレスまたはドメインで除外または含められます。可能な場合は、ドメインではなく IP アドレスの追加を推奨します。ドメインを追加した場合の影響は ドメインベースの Split Tunnels を参照してください。

    Split Tunnels に IP アドレスを追加する手順は次のとおりです。

    1. IP Address を選びます。
    2. 除外または含める IP アドレス、または CIDR を入力します。
    3. Save destination を選びます。

    この IP アドレス宛のトラフィックは、WARP トンネルの対象から除外、または対象に含まれるようになります。

    Split Tunnels にドメインを追加する手順は次のとおりです。

    1. Domain を選びます。
    2. 除外または含める 有効なドメイン を入力します。
    3. Save destination を選びます。
    4. (任意)ドメインに公開 DNS レコードがない場合は、Local Domain Fallback エントリを作成し、プライベート DNS サーバーで名前解決できるようにします。

    ユーザーがそのドメインへアクセスすると、Local Domain Fallback の設定(Gateway またはプライベート DNS サーバー)に従って解決されます。Split Tunnels は、DNS ルックアップで返された IP アドレスを動的に含め、または除外します。

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

    • Zero Trust Write
  2. 変更する cloudflare_zero_trust_device_default_profile または cloudflare_zero_trust_device_custom_profile リソースを選ぶか、新しいデバイスプロファイルを作成 します。

  3. (任意)複数のデバイスプロファイルで再利用できる Split Tunnel ルートのリストを作成します。たとえば、デバイスプロファイルと同じモジュールでローカル値を宣言できます。

    split-tunnels.local.tftf
    locals {
    	global_exclude_list = [
    		# Default Split Tunnel entries recommended by Cloudflare
    		{
    			address     = "ff05::/16"
    		},
    		{
    			address     = "ff04::/16"
    		},
    		{
    			address     = "ff03::/16"
    		},
    		{
    			address     = "ff02::/16"
    		},
    		{
    			address     = "ff01::/16"
    		},
    		{
    			address     = "fe80::/10"
    			description = "IPv6 Link Local"
    		},
    		{
    			address     = "fd00::/8"
    		},
    		{
    			address     = "255.255.255.255/32"
    			description = "DHCP Broadcast"
    		},
    		{
    			address     = "240.0.0.0/4"
    		},
    		{
    			address     = "224.0.0.0/24"
    		},
    		{
    			address     = "192.168.0.0/16"
    		},
    		{
    			address     = "192.0.0.0/24"
    		},
    		{
    			address     = "172.16.0.0/12"
    		},
    		{
    			address     = "169.254.0.0/16"
    			description = "DHCP Unspecified"
    		},
    		{
    			address     = "100.64.0.0/10"
    		},
    		{
    			address     = "10.0.0.0/8"
    		}
    	]
    }
  4. デバイスプロファイルで、IP アドレスまたはドメインに基づいてルートを除外または含めます。

    device-profiles.tftf
    resource "cloudflare_zero_trust_device_custom_profile" "example" {
    	account_id            = var.cloudflare_account_id
    	name                  = "Example custom profile with split tunnels"
    	enabled               = true
    	precedence            = 101
    	service_mode_v2       = {mode = "warp"}
    	match                 =  "identity.email == \"[email protected]\""
    
    	exclude = concat(
    		# Global entries
    		local.global_exclude_list,
    
    		# Profile-specific entries
    		[
    			{
    				address = "192.0.2.0/24"
    				description = "Example IP to exclude from WARP"
    			},
    			{
    				host = "example.com"
    				description = "Example domain to exclude from WARP"
    			}
    		]
    	)
    }

    可能な場合は、ドメインではなく IP アドレスの追加を推奨します。ドメインを追加した場合の影響は ドメインベースの Split Tunnels を参照してください。

新しく更新した設定がデバイスへ反映されるまで、最大 10 分かかることがあります。

Split Tunnels のリストは短く保つことを推奨します。各エントリの解析にクライアント側で時間がかかるためです。とくにドメインは、その場での IP ルックアップとルーティングテーブル / ローカルファイアウォールの変更が必要なため、IP アドレスより処理が遅くなります。リストが短いと、設定の把握とデバッグも容易になります。デバイスプロファイルの制限は アカウントの制限 を参照してください。

Split Tunnels を使うとき

サイトに対して Gateway を完全にバイパスする必要がある場合、または Cloudflare One Client が作成するファイアウォール 経由でトラフィックを許可する場合に Split Tunnels を使います。よくあるシナリオは次のとおりです。

  • エンドユーザーデバイスの実際の IP アドレスを必要とするサードパーティアプリケーションに接続する(例: Microsoft 365)。
  • 音声と動画を最適化する。
  • サードパーティ VPN エンドポイントに接続する。

Split Tunnels を使わないとき

Gateway ログでトラフィックを確認したい場合は、Split Tunnels からサイトを除外しないでください。特に、次の目的で Split Tunnels を使うことは推奨しません。

  • 特定の Web サイトの接続問題を解決する。設定の指針は トラブルシューティングガイド を参照してください。
  • 特定の Web サイトのパフォーマンス問題を解決する。Cloudflare はインターネット接続人口の 95% から 50 ミリ秒以内で運用しているため、通常はトラフィックを Cloudflare 経由で送るほうが速いです。パフォーマンス関連の問題がある場合は、まず Gateway ポリシーを確認するか、サポートへ問い合わせてください。

Split Tunnels Include モードのルート

多くの Cloudflare Zero Trust サービスは、デバイスポスチャチェックデバイスクライアントのセッション期間 のように、トラフィックが Cloudflare One Client を通過することに依存します。Split Tunnels を Include モードで使う場合は、これらの機能が動くように Cloudflare Zero Trust のドメインと IP を手動で追加する必要があります。

Cloudflare Zero Trust ドメイン

Split Tunnels を Include モードで使う場合は、次のドメインを含める必要があります。

  • Cloudflare Zero Trust への認証に使う IdP
  • <your-team-name>.cloudflareaccess.com
  • Access または Gateway ポリシーで保護しているアプリケーション
  • Browser Isolation を使う場合は edge.browser.run

Cloudflare Zero Trust の IP アドレス

ブロックページ

Split Tunnels を Include モードで使い、ブロックページ を有効にした DNS ポリシー がある場合は、ブロックされたドメインが解決する IP を含める必要があります。専用または BYOIP のリゾルバー IP を使っていない限り、ブロックページは次に解決します。

  • 162.159.36.12
  • 162.159.46.12

チームドメイン

Traffic only モード では、Split Tunnels に ドメインを追加 できません。Split Tunnels を Include モードで使う場合は、代わりに <your-team-name>.cloudflareaccess.com に解決する IP を含める必要があります。

  • 104.19.194.29
  • 104.19.195.29

デバイス IP 範囲

Exclude モードでは、デフォルトのデバイスプロファイルが CGNAT 範囲(100.64.0.0/10)を除外します。この範囲にはデフォルトの デバイス IP 範囲100.96.0.0/12)が含まれます。Mesh セットアップウィザードは、デバイス IP 範囲を Cloudflare 経由でルーティングするようにデフォルトプロファイルを更新します。ウィザードを使っていない場合、または別のプロファイルがデバイスに適用される場合は、プロファイルがデバイス IP 範囲、またはそれを含む親範囲を除外していないことを確認してください。

自動管理される範囲

Cloudflare One Client は、Include モードでは次の範囲を自動で含め、Exclude モードで設定した除外からは自動で外します。これはデバイス上の実行時に行われます。範囲はデバイスプロファイルに保存されず、ダッシュボードの Split Tunnels 一覧にも表示されません。手動で追加する必要はありません。

これらの範囲を Split Tunnels 構成に追加する必要はありません。これらの範囲のいずれかに依存する機能(例: ホスト名ルーティング または Cloudflare Mesh)をトラブルシューティングする場合は、診断として範囲を明示的に追加できます。通常運用では不要です。

アカウントがデフォルトの 172.64.128.0/20 ではなく カスタム初期解決 IP 範囲 を使う場合は、そのカスタム範囲を Split Tunnels 構成に追加します。

ドメインベースの Split Tunnels

ドメインベースのスプリットトンネリングには、組織へ展開する前に把握しておくべき影響があります。

  • Cloudflare One Client と Gateway の可視性から除外または含まれるルートは日々変わることがあります。ユーザーの場所によっても異なります。
  • 同じ IP アドレスを共有する追加のホスト名を、意図せず除外または含めてしまうことがあります。CDN や Cloudflare、AWS、Azure などの大規模インターネットプロバイダーがホストするドメインを追加した場合によく起きます。たとえば AWS 上の VPN を除外したい場合、*.amazonaws.com を追加しないでください。デバイスが AWS 上のすべてのトラフィックに開いてしまいます。代わりに、特定の VPN エンドポイント(*.cvpn-endpoint-<UUID>.prod.clientvpn.us-west-2.amazonaws.com)を追加します。
  • ほとんどのサービスはホスト名の集まりです。Split Tunnels モードが App Types に対応するまでは、特定のアプリまたはサービスが使うすべてのドメインを手動で追加する必要があります。
  • Cloudflare One Client がそのドメインの DNS ルックアップリクエストを処理する必要があります。オペレーティングシステムが以前にキャッシュした DNS 結果、またはその他の傍受(例: ブラウザーのセキュア DNS 設定)がある場合、IP アドレスは Split Tunnel に動的追加されません。

有効なドメイン

Split tunnel ドメイン 一致する対象 一致しない対象
example.com example.com の完全一致 www.example.com などのサブドメイン
example.example.com example.example.com の完全一致 example.com、または www.example.example.com などのサブドメイン
*.example.com www.example.comsub2.sub1.example.com などのサブドメイン example.com

プラットフォームの違い

ドメインベースの Split Tunnels は、モバイルクライアントとデスクトップクライアントで動きが異なります。モバイルとデスクトップの両方のクライアントが組織に接続する場合は、すべてのプラットフォームで同じように動く IP アドレスまたは CIDR ベースの Split Tunnels を使うことを推奨します。

Windows、Linux、macOS

これらのプラットフォームのクライアントは、ドメインが解決された直後に、その IP アドレスをスプリットトンネリング用のルーティングテーブルへ動的に挿入します。そのためデスクトップクライアントは、単一ドメイン(example.comwww.example.com など)だけでなく、ワイルドカードドメインプレフィックス(例: *.example.com)にも対応できます。

iOS、Android、ChromeOS

プラットフォームの違いにより、モバイルクライアントはトンネルの初期開始時にだけ Split Tunnels ルールを適用できます。つまり次のとおりです。

  • ドメインベースの Split Tunnels ルールは、トンネル確立時のそのドメインの IP アドレスに基づいて作成されます。ルートはトンネルを確立するたびに更新されます。
  • ワイルドカードドメインプレフィックス(例: *.example.com)は、有効なワイルドカード DNS レコードがある場合にのみ対応します。その他のワイルドカードドメインには対応しません。トンネル起動時にクライアントがワイルドカードドメインをホスト名に照合できないためです。未対応のワイルドカードドメインプレフィックスは構成に残せて、モバイルプラットフォームでは無視されます。

ルートを削除する

  1. Cloudflare ダッシュボード で、Zero Trust > Team & Resources > Devices > Device profiles > General profiles を開きます。
  2. 変更したい デバイスプロファイル を見つけ、Edit を選びます。
  3. Split TunnelsManage を選びます。
  4. 一覧で IP アドレスまたはホスト名を見つけ、Action ボタンを選びます。ドロップダウンから Delete を選びます。

新しく更新した設定がデバイスへ反映されるまで、最大 10 分かかることがあります。

Cloudflare が推奨するデフォルトの Split Tunnel エントリに戻す必要がある場合は、Restore default entries を選びます。

関連リソース

役に立ちましたか?