← Cloudflare One / cloudflare-one / team-and-resources / devices / cloudflare-one-client / configure
IP-адреса устройства
Доступность функций
| Режимы клиента | планы Zero Trust ↗ |
|---|---|
|
Все тарифы |
| Система | Доступность | Минимальная версия клиента |
|---|---|---|
| Windows | ✅ | 2025.10.186.0 |
| macOS | ✅ | 2025.10.186.0 |
| Linux | ✅ | 2025.10.186.0 |
| iOS | ❌ | |
| Android | ❌ | |
| ChromeOS | ❌ |
IP-адрес устройства идентифицирует конкретное устройство в вашей организации Zero Trust и направляет трафик к нему. Когда пользователь регистрирует Cloudflare One Client (ранее WARP), Cloudflare назначает виртуальный адрес IPv4 и IPv6 для регистрация устройства. Cloudflare One Client использует эти IP-адреса для создания виртуальный сетевой интерфейс на устройстве, что позволяет вашей частной сети обращаться к устройству через Cloudflare Mesh или Cloudflare WAN on-ramps.
Можно проверить IP-адреса устройств и при необходимости перенастроить пулы адресов, чтобы избежать пересечения с IP-адресами существующих внутренних ресурсов.
IP-адреса устройств по умолчанию
По умолчанию Cloudflare назначает IP-адреса устройств из следующего адресного пространства:
- IPv4 по умолчанию:
100.96.0.0/12 - IPv6 по умолчанию:
2606:4700:0cf1:1000::/64
Если ваша организация уже использует диапазон IPv4 по умолчанию для внутренней сети или вам необходимо более точное распределение IP-адресов для управления политиками межсетевого экрана, можно настроить пользовательские подсети IPv4 для устройств. Разные подсети IPv4 можно назначать устройствам в зависимости от личности пользователя.
Диапазон IPv6 по умолчанию принадлежит Cloudflare, поэтому он не может конфликтовать со службами в вашей частной сети. Диапазон IPv6 для устройства не настраивается.
Создать подсеть IP
Создайте пользовательскую подсеть IP, когда диапазон IPv4 по умолчанию конфликтует со службами в вашей частной сети.
Чтобы задать пользовательскую подсеть IPv4 для IP-адресов устройств:
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств.
-
В разделе Подсети IP-адресов устройства, выберите Добавить новую подсеть IP.
-
Введите любое имя для подсети.
-
В CIDR, введите допустимый блок IPv4 CIDR из поддерживаемых приватных диапазонов:
10.0.0.0/8172.16.0.0/12192.168.0.0/16100.64.0.0/10
Настроенный блок CIDR должен быть не меньше
/24. -
Выберите Добавить подсеть и сохраните.
Затем, назначить эту подсеть к группе устройств.
Назначить IP-адреса устройств
Назначить пользовательские IP-подсети чтобы гарантировать, что устройствам выделяются адреса в пределах предсказуемого адресного пространства на основе определённых критериев идентификации пользователя.
Предварительные требования
- Назначьте уникальный IP-адрес каждому устройству включено в вашем общие профили устройств.
Создать профиль IP
Чтобы назначить IP-подсети вашим устройствам:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств.
- В разделе Профили IP-адресов устройства, выберите Добавить новый профиль IP.
- Введите имя для этой группы устройств (например,
IT department). - Создайте правила, определяющие пользователей или устройства, которые будут получать эти IP-адреса. Подробнее о доступных Селекторы, Операторы, а также Значения.
- Выберите существующую подсеть IPv4 в раскрывающемся меню либо создать новую подсеть.
- Выберите Назначить IP-адрес.
- (Необязательно) В Профили IP-адресов устройства таблице измените порядок приоритета профилей IP.
Устройствам, соответствующим вашим правилам, при регистрации назначается случайный IP-адрес из этого адресного пространства. Новый IP-адрес получат только вновь зарегистрированные устройства; на уже существующие устройства это не повлияет. Чтобы назначить новый IP-адрес уже существующему устройству, необходимо удалить свою регистрацию и затем повторно зарегистрировать устройство в вашей организации Zero Trust.
В настоящее время организации ограниченный до 30 пользовательских профилей IP-адресов устройств на аккаунт.
Селекторы
Вы можете настроить IP-профили для сопоставления со следующими селекторами или критериями. Селекторы на основе идентификации доступны только в том случае, если пользователь зарегистрировал устройство путём входа через поставщика идентификации (IdP).
Email пользователя
Примените профиль устройства на основе адреса электронной почты пользователя.
| UI name | Пример значения API |
|---|---|
| Email пользователя | identity.email == "[email protected]" |
Email-адреса групп пользователей
Примените профиль IP-адреса устройства на основе группа IdP адрес электронной почты, для которого пользователь настроен как участник в IdP.
| UI name | Пример API |
|---|---|
| Email-адреса групп пользователей | identity.groups.email == "[email protected]" |
ID групп пользователей
Примените профиль IP-адреса устройства на основе группа IdP Идентификатор, в котором пользователь настроен как участник в IdP.
| UI name | Пример API |
|---|---|
| ID групп пользователей | identity.groups.id == "12jf495bhjd7893ml09o" |
Названия групп пользователей
Примените профиль IP-адреса устройства на основе группа IdP название которой пользователь настроен как участник в IdP.
| UI name | Пример API |
|---|---|
| Названия групп пользователей | identity.groups.name == "\"finance\"" |
Имя пользователя
| UI name | Пример API |
|---|---|
| User Name | identity.name == "user-name" |
атрибуты SAML
Примените профиль IP-адреса устройства на основе имени и значения атрибута из SAML IdP.
| UI name | Пример API |
|---|---|
| SAML Attributes | identity.saml_attributes == "\"group=finance\"" |
Операторы сравнения
Операторы сравнения определяют, как IP-профили устройств сопоставляются с селектором.
| Оператор | Значение |
|---|---|
| in | соответствует хотя бы одному из указанных значений |
| not in | не соответствует ни одному из заданных значений |
| является | равно заданному значению |
| совпадения | регулярное выражение (regex) возвращает true |
Значение
В Значение поле можно ввести единственное значение при использовании оператора сравнения на равенство (например, является) или несколько значений при использовании оператора сравнения на вхождение (например, in). Кроме того, вы можете использовать регулярные выражения (или regex), чтобы задать диапазон значений для поддерживаемых селекторов.
Регулярные выражения
Регулярные выражения обрабатываются с использованием Rust. Реализация Rust немного отличается от библиотек regex, используемых в других местах. Дополнительную информацию см. в нашем руководстве по Подстановочные знаки. Чтобы проверить, соответствует ли ваше регулярное выражение, вы можете использовать Rustexp ↗.
Чтобы сопоставить несколько значений, можно использовать символ вертикальной черты (|) в качестве оператора OR. Использовать escape-символ не требуется (\) до символа "|". Например, следующее выражение возвращает true, если домен электронной почты пользователя совпадает с одним из значений: @acme.com или @widgets.com:
| Селектор | Оператор | Значение |
|---|---|---|
| Email пользователя | совпадения | @acme.com|@widgets.com |
Помимо регулярных выражений, вы можете использовать логические операторы чтобы соответствовать нескольким значениям.
Логические операторы
Чтобы оценить несколько условий в выражении, выберите логический оператор:
| Оператор | Значение |
|---|---|
| И | соответствуют всем условиям в выражении |
| Или | соответствуют хотя бы одному из условий в выражении |
Порядок приоритета
Cloudflare One Client проверяет IP-профили сверху вниз в том порядке, в котором они указаны в панели управления Cloudflare One (профиль с наименьшим числом приоритета проверяется первым). Клиент следует принципу первого совпадения: как только устройство соответствует IP-профилю, клиент прекращает проверку, и ни один из последующих IP-профилей не может изменить это решение. Вы можете изменить порядок IP-профилей в панели управления Cloudflare One в соответствии с нужным вам порядком приоритета.
Проверить IP-адреса устройств
Через панель управления
Чтобы проверить виртуальные IP-адреса, назначенные конкретной регистрации устройства:
-
В Панель управления Cloudflare ↗, перейдите в Zero Trust > Команда и ресурсы > Устройства.
-
Выберите своё устройство > Просмотр сведений.
-
Прокрутите вниз до Пользователи. Появятся регистрации, связанные с этим устройством, вместе с назначенными им адресами IPv4 и IPv6.
Через CLI
Чтобы проверить IP устройства, используемый виртуальным сетевым интерфейсом клиента на устройстве:
В Windows выполните ipconfig. Когда Cloudflare One Client включен, вы увидите адаптер с именем CloudflareWARP с IP-адресом вашего устройства.
ipconfigWindows IP Configuration
Unknown adapter CloudflareWARP:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Cloudflare WARP Interface Tunnel
Physical Address. . . . . . . . . :
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2606:4700:110:8f79:145:f180:fc4:8106(Preferred)
Link-local IPv6 Address . . . . . : fe80::83b:d647:4bed:d388%49(Preferred)
IPv4 Address. . . . . . . . . . . : 172.16.0.2(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 127.0.2.2
127.0.2.3
NetBIOS over Tcpip. . . . . . . . : EnabledВ macOS выполните ifconfig. Когда Cloudflare One Client включен, вы увидите utun интерфейс с IP-адресом вашего устройства.
ifconfig<redacted>
utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
inet 172.16.0.2 --> 172.16.0.2 netmask 0xffffffff
inet6 fe80::f6d4:88ff:fe82:6d9e%utun3 prefixlen 64 scopeid 0x17
inet6 2606:4700:110:8c7d:7369:7526:a59b:5636 prefixlen 128
nd6 options=201<PERFORMNUD,DAD>В Linux выполните ifconfig или ip addr. Когда Cloudflare One Client включен, вы увидите utun интерфейс с IP-адресом вашего устройства.
ip addr<redacted>
3: CloudflareWARP: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc mq state UNKNOWN group default qlen 500
link/none
inet 172.16.0.2/32 scope global CloudflareWARP
valid_lft forever preferred_lft forever
inet6 2606:4700:110:8a2e:a5f7:a8de:a1f9:919/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::117e:276b:8a79:c498/64 scope link stable-privacy
valid_lft forever preferred_lft foreverВ примере выше IPv4-адрес устройства 172.16.0.2.
Просмотр использования подсети
Отслеживайте использование ваших подсетей IPv4, чтобы убедиться, что у вас достаточно адресов для регистрации новых устройств. Устройства не смогут зарегистрироваться, если они попадают в подсеть без доступных IP-адресов.
Используйте панель управления Cloudflare One, чтобы получить общий обзор назначенных и доступных IP-адресов:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств.
- Найдите Подсети IP-адресов устройства в таблице.
- Назначенные IP-адреса столбец отображает общее количество IP-адресов, назначенных активным регистрациям устройств, относительно общей емкости блока CIDR.
Если ваша подсеть приближается к пределу вместимости, можно расширить подсеть чтобы увеличить количество доступных IP-адресов. Также можно освободить IP-адреса за счёт удаление существующих регистраций устройств, особенно отозванные регистрации, которые могут занимать IP-пространство, даже если устройство больше не используется.
Чтобы получить список всех регистраций устройств в подсети (включая отозванные регистрации), используйте Cloudflare API. Например, следующий скрипт получает все регистрации устройств и их IP-адреса, а затем выводит все регистрации, попадающие в указанный блок CIDR.
Пример скрипта для фильтрации регистраций по IP-адресу
-
Создайте новый файл с именем
filter-device-ips.pyкоторый содержит следующий код:import requests import ipaddress import json # --- Configuration --- AUTH_EMAIL = "<CLOUDFLARE_ACCOUNT_EMAIL>" AUTH_KEY = "<CLOUDFLARE_API_KEY>" # Refer to https://developers.cloudflare.com/fundamentals/api/get-started/keys/. API token authentication is not currently supported for fetching device IPs. ACCOUNT_ID = "<CLOUDLFARE_ACCOUNT_ID" # Refer to https://developers.cloudflare.com/fundamentals/account/find-account-and-zone-ids/. TARGET_CIDR = "100.64.0.0/10" # --- API request headers --- headers = { "X-Auth-Email": AUTH_EMAIL, "X-Auth-Key": AUTH_KEY, "Content-Type": "application/json" } def get_all_registrations(): """Fetches all device registrations including revoked registrations. """ devices = {} url = f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/devices/registrations" params = {"per_page": 50, "status": "all"} while True: response = requests.get(url, headers=headers, params=params).json() if not response.get('success'): print(f"Error fetching registrations: {response.get('errors')}") break for d in response.get('result', []): # We use the ID as the key to link with IP data later devices[d['id']] = d cursor = response.get('result_info', {}).get('cursor') if not cursor: break params['cursor'] = cursor return devices def filter_by_cidr(device_map, network): """Fetch device IPs and return devices that fall within the target CIDR block.""" matches = [] device_ids = list(device_map.keys()) # API limits IP correlation to batches of 20 for i in range(0, len(device_ids), 20): batch = device_ids[i:i+20] # Construct parameters for the IP endpoint params = {f"device_ids[{idx}]": d_id for idx, d_id in enumerate(batch)} url = f"https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/teamnet/devices/ips" res = requests.get(url, headers=headers, params=params).json() if not res.get('success'): print(f"Error fetching IPs: {res.get('errors')}") continue for item in res.get('result', []): d_id = item.get('device_id') ip_data = item.get('device_ips', {}) ipv4_str = ip_data.get('ipv4') if ipv4_str: try: if ipaddress.IPv4Address(ipv4_str) in network: if d_id in device_map: full_data = device_map[d_id] full_data['device_ips'] = ip_data matches.append(full_data) except ValueError: continue return matches if __name__ == "__main__": try: net = ipaddress.IPv4Network(TARGET_CIDR, strict=False) print(f"[*] Fetching registrations (status=all)...") all_devices = get_all_registrations() print(f"[*] Found {len(all_devices)} total registrations.") print(f"[*] Checking IP ranges for match...") filtered_list = filter_by_cidr(all_devices, net) if filtered_list: print(f"\n--- Found {len(filtered_list)} Device(s) in {TARGET_CIDR} ---\n") for dev in filtered_list: print(json.dumps(dev, indent=2)) print("-" * 50) else: print(f"\nNo devices found within the {TARGET_CIDR} range.") except Exception as e: print(f"Script Error: {e}") -
В разделе настройки скрипта укажите учётные данные Cloudflare API и диапазон подсети IP.
-
Откройте терминал и перейдите в каталог со скриптом. Чтобы запустить скрипт, введите:
python3 filter-device-ips.py
Измените IP-подсеть
Cloudflare не поддерживает изменение уже заданной подсети IPv4. Чтобы назначить своим устройствам другую подсеть IPv4:
- В Панель управления Cloudflare ↗, перейдите в Zero Trust > Команда и ресурсы > Устройства > Профили устройств.
- В разделе Профили IP-адресов устройства, найдите группу устройств, связанную со старой подсетью, и выберите Изменить.
- Выберите Создать новый диапазон IP-адресов подсети чтобы определить новую подсеть.
- Выберите Save.
Новая подсеть появится в Подсети IP-адресов устройства таблице. Теперь старую подсеть можно удалить. Устройства будут получать IP-адрес из новой подсети только тогда, когда они повторно зарегистрироваться; существующие регистрации сохранят свои текущий IP-адрес.