Cloudflare Tunnel

Туннель Cloudflare позволяет безопасно удаленно подключаться к локальным сервисам через Интернет без необходимости настройки перенаправления портов или использования общедоступного IP-адреса. Соединение устанавливается от локальной системы к Cloudflare. Таким образом, даже сети за CG-NAT или ограничивающими интернет-подключениями могут быть безопасно доступны.

Примечания: Туннель Cloudflare доступен только с Core 2 или выше.

Примечание: Antcas Control поддерживает подключение через собственный туннель и может предоставлять визуализацию в открытом доступе без настройки.

Требования

Для использования требуется аккаунт Cloudflare с управляемой доменной зоной. Управление осуществляется автоматически через API Cloudflare. Используемый API-токен должен иметь соответствующие разрешения. См. ниже в разделе Конфигурация.

Если сервер находится за ограничивающим брандмауэром, необходимо убедиться, что исходящие соединения с Cloudflare возможны. В частности, должен быть разрешён доступ к порту 7844. Дополнительную информацию можно найти по ссылке:
https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/troubleshoot-tunnels/connectivity-prechecks/

Принцип работы

Туннель Cloudflare устанавливает исходящее зашифрованное соединение с Cloudflare. Внешние пользователи затем получают доступ к визуализации или другим приложениям через настроенную доменную зону. Соединение осуществляется через инфраструктуру Cloudflare, без необходимости открытия входящих портов на маршрутизаторе.

Порт приложения назначается виртуальному локальному сетевому интерфейсу и безопасно публикуется через туннель.

Конфигурация

Доступны различные варианты конфигурации. В следующих разделах объясняется процедура для различных конфигураций и случаев использования.

Локально управляемая конфигурация

В этом случае конфигурация туннеля сохраняется в Antcas Control и затем синхронизируется с облаком. Преимущество этого варианта заключается в том, что туннель легко настроить и управлять им. Однако следует учитывать, что все пользователи с правами на конфигурацию сервера также могут вносить изменения в конфигурацию туннеля в облаке.

Создайте новый API-токен в профиле пользователя вашего аккаунта Cloudflare. Он обязательно должен иметь следующие разрешения:

Тип Объект Разрешение
Аккаунт Cloudflare Tunnel Редактирование
Зона DNS Редактирование

Примечание: DNS-зону необходимо хотя бы назначить аккаунту, чтобы можно было определить учётную запись.

Затем добавляется новый Cloudflare Tunnel в Инфраструктуре под Сервер Сеть VPN и туннели. Каждый туннель создаёт виртуальный сетевой интерфейс, например, cf-tunnel0. Рекомендуется сначала завершить настройку туннеля, а затем настроить приложения.

Внимание: Если выбран существующий туннель, возможно, будет перезаписано его аутентификационное соединение для установки подключения. Antcas Control поддерживает один туннель с одновременным подключением к Cloudflare.

Для автоматической настройки требуется API-токен Cloudflare. С его помощью Antcas Control может автоматически получать, создавать и управлять необходимыми DNS-записями и конфигурациями туннелей. Инструкции по созданию API-токена можно найти в справке Cloudflare по адресу:
https://developers.cloudflare.com/fundamentals/api/get-started/create-token/

После того как API-токен проверен, можно выбрать аккаунт и туннель. Возможно создание нового туннеля, который получит имя сервера плюс имя интерфейса. Например, Офисное здание - cf-tunnel0.

Примечание: Настройка туннеля происходит полностью автоматически через API. Убедитесь, что сервер может установить соединение с Cloudflare во время настройки.

После создания туннеля все визуализации, которые должны быть доступны через туннель, необходимо назначить сетевому интерфейсу. Затем их можно добавить как Приложения к туннелю. Приложения находятся на уровне выше, чем настроенный Туннель.

Выберите в конфигурации домен и укажите имя поддомена. Затем выберите конечную точку.

Примечание: Если имя уже использовалось для другого туннеля, оно не будет назначено, и соединение будет установлено как обычно. Если изменить имя, Antcas Control удалит поддомен, если идентификатор туннеля управлялся Antcas.

Конфигурация Zero Trust

Альтернативой локально управляемой конфигурации является конфигурация Zero Trust. В этом случае настройка выполняется в консоли Cloudflare и затем синхронизируется с Antcas Control. Преимущество этого варианта заключается в том, что через Antcas Control нет доступа к конфигурации Cloudflare.

Для этой конфигурации сетевому интерфейсу необязательно назначать порт. В качестве конечной точки можно использовать любой адрес в сети. Таким образом, например, можно открыть порт основного интерфейса или другой сервис в сети. Однако, в отличие от обычной настройки, localhost не может быть использован в качестве конечной точки.

Если соединение устанавливается без шифрования, в консоли Cloudflare необходимо установить параметр noTLSVerify в значение TRUE. Однако нешифрованное соединение с сервисом вне сервера не рекомендуется по соображениям безопасности.

Для настройки добавляется новый Cloudflare Tunnel в Инфраструктуре под Сервер Сеть VPN и туннели. Каждый туннель создаёт виртуальный сетевой интерфейс, например, cf-tunnel0. Для настройки требуется только токен Zero Trust-туннеля. Его можно скопировать и вставить непосредственно из консоли Cloudflare. Если вставленный текст дополнительно содержит полную команду установки, она автоматически удаляется, чтобы сохранить только токен.