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

Cloudflare Mesh

Cloudflare Mesh соединяет ваши сервисы и устройства с помощью постквантового шифрованного сетевого взаимодействия. Направляйте трафик напрямую между серверами, ноутбуками и телефонами без VPN и хостов-бастионов.

Каждое зарегистрированное устройство и узел получает частный IP-адрес (Mesh IP) и может обращаться к любому другому участнику по IP через TCP, UDP или ICMP, при этом трафик маршрутизируется через сеть Cloudflare.

Узлы Mesh представляют собой Linux-серверы, на которых выполняется Cloudflare One Client (warp-cli) в headless-режиме. Клиентские устройства: ноутбуки и телефоны, на которых работает тот же клиент, но с графическим интерфейсом.

Карта сети Mesh в панели управления Cloudflare с узлами и устройствами, подключёнными через Cloudflare

Как это работает

В Mesh есть два типа участников:

Узлы Mesh Клиентские устройства
Работает на Серверы Linux, виртуальные машины, контейнеры Ноутбуки, телефоны, настольные компьютеры
Клиент Cloudflare One Client (warp-cli), headless Cloudflare One Client (warp-cli) с UI
Mesh IP Назначено при регистрации Назначено при регистрации
Маршрутизация подсети Может анонсировать маршруты CIDR Нет: клиенты обращаются к подсетям через узлы
Высокая доступность Поддерживает активно-пассивные реплики Не применимо

Любой участник может обратиться к любому другому по IP-адресу Mesh. Подключение между клиентами работает даже без развёртывания узлов Mesh.

flowchart LR
  subgraph nodes["Mesh nodes"]
    A["web-server <br> 100.96.0.1"]
    B["db-replica <br> 100.96.0.2"]
  end
  subgraph devices["Client devices"]
    C["MacBook <br> 100.96.0.10"]
    D["iPhone <br> 100.96.0.11"]
  end
  A <--> CF((Cloudflare <br> network))
  B <--> CF
  CF <--> C
  CF <--> D

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

Требование к протоколу

Для работы Cloudflare Mesh требуется, чтобы профиль устройства каждого узла Mesh настроен на использование MASQUE, протокол по умолчанию для Cloudflare One Client. В большинстве развёртываний менять ничего не нужно.

Если профиль устройства узла Mesh использует WireGuard, следующие функции работать не будут:

Mesh IP-адреса

Каждому участнику назначается частный IP-адрес из 100.96.0.0/12 диапазон. В других разделах документации Cloudflare One эти адреса называются IP-адреса устройств.

Этот диапазон использует Адресное пространство CGNAT чтобы избежать конфликтов с частными диапазонами RFC 1918 (10.x, 172.16.x, 192.168.x). Если диапазон по умолчанию конфликтует с вашей сетью, вы можете настроить пользовательскую подсеть.

Просмотр Mesh IP устройства в Страница обзора Mesh или на странице сведений об узле в панели управления.

Сведения о зарезервированных диапазонах см. в Зарезервированные IP-адреса.

Mesh или Tunnel

И Cloudflare Mesh, и Cloudflare Tunnel подключают частную инфраструктуру к Cloudflare, но решают разные задачи:

Cloudflare Mesh Cloudflare Tunnel
Направление трафика Двунаправленный: инициировать может любой участник Входящий к источнику: клиенты подключаются к опубликованным сервисам
Адресация Каждый участник получает Mesh IP Только на стороне сервера, без IP-адресов Mesh
Сценарий использования Частное IP-подключение между устройствами и серверами Публикация отдельных приложений, имен хостов или IP-маршрутов
Connector warp-cli cloudflared
Протоколы TCP, UDP, ICMP HTTP/S, TCP, SSH, RDP, SMB (проксируется через WebSocket)

Используйте Mesh, если устройствам нужно обращаться друг к другу по частному IP-адресу или если вашей рабочей нагрузке требуются стабильные долгоживущие TCP-подключения (SAP, репликация баз данных, ERP-системы, сеансы RDP). Mesh работает на уровнях L3/L4 и сохраняет соединения сквозным образом, что делает его рекомендуемым программным on-ramp для любого трафика, чувствительного к разрывам соединения. Используйте Tunnel, если вы хотите публиковать сервисы по имени хоста или проксировать трафик к определённым диапазонам IP-адресов через cloudflared.

Переходите с другого продукта для mesh-сетей?

Если вы использовали Tailscale, WireGuard или аналогичный продукт, вот как их концепции соотносятся с Cloudflare Mesh:

Другие продукты Cloudflare Mesh
Tailnet / mesh-сеть Сеть Mesh вашего аккаунта Cloudflare
Узел / peer Узел Mesh (серверы) или клиентское устройство (ноутбуки/телефоны)
Маршрутизатор подсети Узел Mesh с Маршруты CIDR
MagicDNS / пользовательский DNS Local Domain Fallback + Политики резолвера Gateway
ACL / правила доступа Политики Network Gateway + состояние устройства
Узел выхода Подключите публичный CIDR к узлу Mesh, и трафик к этим IP-адресам будет выходить через этот узел. Для более широкой интернет-фильтрации используйте Политики Egress Gateway.
Admin console Панель управления Cloudflare в разделе Сеть > Mesh

Ключевые различия:

Следующие шаги

  1. Создайте свой первый узел Mesh : Мастер в панели управления автоматизирует развёртывание. Установите клиент на Linux-сервере с помощью двух команд.
  2. Подключите клиентские устройства : Установите Cloudflare One Client на ноутбуки и телефоны. Они смогут обращаться друг к другу и к любому узлу Mesh по Mesh IP.
  3. Запуск в Docker / Kubernetes : Разверните узел Mesh в виде контейнера Docker для Docker Compose, Kubernetes и сред CI/CD.
  4. Добавление маршрутов (необязательно): делает подсети за узлом Mesh доступными с любого устройства.
  5. Включить высокую доступность (необязательно): запускает несколько реплик узла для отказоустойчивости.
  6. Подключитесь из Workers (необязательно): используйте привязки VPC Network для доступа к приватным сервисам из Cloudflare Workers.
  7. Делегируйте доступ (необязательно): ограничивает права участников конкретными узлами Mesh вместо предоставления контроля на уровне всей учетной записи.