INTEGRITY Документация

Split Tunnels

Split Tunnels можно настроить так, чтобы IP-адреса или домены исключались из трафика Cloudflare One Client (ранее WARP) или, наоборот, включались в него. Эта функция обычно используется для того, чтобы запускать Cloudflare One Client одновременно с VPN (в режиме Exclude) или предоставлять доступ к определенной приватной сети (в режиме Include).

Поскольку Split Tunnels определяет, какой трафик виден Gateway на сетевом уровне, рекомендуется тестировать все изменения перед их развёртыванием для конечных пользователей.

Изменить режим Split Tunnels

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств > Общие профили.
  2. Найдите профиль устройства который вы хотите изменить, и выберите Настройте.
  3. Прокрутите вниз до Split Tunnels.
  4. (Необязательно) Чтобы просмотреть текущую конфигурацию Split Tunnel, выберите Управление. Появится список IP-адресов и доменов, которые Cloudflare Zero Trust исключает или включает в зависимости от выбранного режима. Рекомендуем сохранить копию записей Split Tunnel, поскольку при переключении режима они вернутся к значениям по умолчанию.
  5. В разделе Split Tunnels, выберите режим:
    • Исключить IP-адреса и домены : (По умолчанию) Весь трафик будет отправляться в Cloudflare Gateway, кроме IP-адресов и доменов, которые вы укажете.
    • Включить IP-адреса и домены : Только трафик, предназначенный для указанных вами 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 аргумент. Нельзя задать одновременно exclude и include в заданном профиле устройства.

    a. Чтобы управлять маршрутами Split Tunnel в Exclude режиме используйте 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"
    	}]
    }

    В этом примере весь трафик отправляется в Cloudflare Gateway, кроме трафика, предназначенного для 10.0.0.0/8. Чтобы исключить IP-адреса и домены по умолчанию, рекомендованные Cloudflare, см. Добавьте маршрут.

    b. Чтобы управлять маршрутами 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 > Команда и ресурсы > Устройства > Профили устройств > Общие профили.

  2. Найдите профиль устройства который вы хотите изменить, и выберите Настройте.

  3. В разделе Split Tunnels, проверьте, что ваш Режим Split Tunnels имеет значение Exclude или Включить.

  4. Выберите Управление.

  5. Вы можете исключать или включать маршруты по IP-адресу или домену. По возможности рекомендуем указывать IP-адрес, а не домен. О том, к чему приводит добавление домена, читайте в Split Tunnels на основе домена.

    Чтобы добавить IP-адрес в Split Tunnels:

    1. Выберите IP-адрес.
    2. Введите IP-адрес или CIDR которые вы хотите исключить или включить.
    3. Выберите Сохранить место назначения.

    Теперь трафик к этому IP-адресу исключается из туннеля WARP или включается в него.

    Чтобы добавить домен в Split Tunnels:

    1. Выберите Домен.
    2. Введите действительный домен чтобы исключить или включить.
    3. Выберите Сохранить место назначения.
    4. (Необязательно) Если у вашего домена нет публичной DNS-записи, создайте Local Domain Fallback запись, чтобы разрешить приватному DNS-серверу обрабатывать разрешение доменных имён.

    Когда пользователь переходит на этот домен, домен разрешается в соответствии с настройками Local Domain Fallback (либо через Gateway, либо через ваш приватный DNS-сервер). После этого Split Tunnels динамически включают или исключают IP-адрес, полученный в результате разрешения DNS.

  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.tf
    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.tf
    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

Используйте Split Tunnels, если нужно полностью обходить Gateway для сайта или пропускать трафик через межсетевой экран, который создает Cloudflare One Client. Типичные сценарии использования:

Когда не следует использовать Split Tunnels

Не исключайте сайт из Split Tunnels, если хотите видеть этот трафик в журналах Gateway. В частности, не рекомендуется использовать Split Tunnels для:

Маршруты для режима Split Tunnels Include

Многие сервисы Cloudflare Zero Trust полагаются на прохождение трафика через Cloudflare One Client, например проверки состояния устройства и длительности сессий клиента устройства. Если вы используете Split Tunnels в режиме Include, для работы этих функций потребуется вручную добавить домены и IP-адреса Cloudflare Zero Trust.

Домены Cloudflare Zero Trust

Если вы используете Split Tunnels в режиме Include, необходимо включить в список следующие домены:

IP-адреса Cloudflare Zero Trust

Страница блокировки

Если вы используете Split Tunnels в режиме Include и у вас есть Политики DNS на страница блокировки включена, необходимо указать IP-адреса, в которые будут разрешаться заблокированные домены. Если вы не используете выделенный или BYOIP IP-адрес резолвера на который будет разрешаться страница блокировки:

Team domain

В Traffic only mode, вы не можете Добавить домены в Split Tunnels. Если вы используете Split Tunnels в режиме Include, необходимо включить IP-адреса, которые разрешаются в <your-team-name>.cloudflareaccess.com вместо этого:

Автоматически управляемые диапазоны

Cloudflare One Client автоматически включает следующие диапазоны в режиме Include и автоматически исключает их из любых исключений, настроенных в режиме Exclude. Это происходит во время работы устройства: диапазоны не сохраняются в профиле устройства, не отображаются в списке Split Tunnel в панели управления и не требуют добавления вручную.

Добавлять эти диапазоны в конфигурацию Split Tunnels не нужно. Если вы устраняете неполадку функции, которая зависит от одного из этих диапазонов (например, маршрутизация по имени хоста или Cloudflare Mesh), вы все равно можете явно добавить этот диапазон в качестве диагностического шага, но при обычной работе это не требуется.

Если ваш аккаунт использует пользовательский начальный диапазон разрешённых IP-адресов вместо стандартного 172.64.128.0/20, добавьте этот пользовательский диапазон в конфигурацию Split Tunnels.

Split Tunnels на основе домена

У Split Tunnels на основе домена есть ряд последствий, которые нужно учитывать до развёртывания в вашей организации:.

Допустимые домены

Домен 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.com и sub2.sub1.example.com example.com

Различия платформ

Split Tunnels на основе домена работают иначе на мобильных клиентах, чем на клиентах для компьютеров. Если к вашей организации будут подключаться и мобильные клиенты, и клиенты для компьютеров, рекомендуется использовать Split Tunnels на основе IP-адресов или CIDR, которые работают одинаково на всех платформах.

Windows, Linux и macOS

Клиенты на этих платформах динамически добавляют IP-адрес домена в таблицу маршрутизации для split tunneling сразу после его разрешения. Благодаря этому настольные клиенты поддерживают префиксы доменов с подстановочными символами (например, *.example.com), а не только на отдельный домен (например, example.com или www.example.com).

iOS, Android и ChromeOS

Из-за различий между платформами мобильные клиенты могут применять правила Split Tunnels только при первоначальном запуске туннеля. Это означает следующее:

Удалите маршрут

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств > Общие профили.
  2. Найдите профиль устройства который вы хотите изменить, и выберите Изменить.
  3. В разделе Split Tunnels, выберите Управление.
  4. Найдите IP-адрес или имя хоста в списке и выберите Действие кнопку. В раскрывающемся списке выберите Удалить.

Распространение недавно обновленных настроек на устройства может занять до 10 минут.

Если вам нужно вернуться к стандартным записям Split Tunnel, рекомендуемым Cloudflare, выберите Восстановить записи по умолчанию.