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

Параметры запуска туннеля

На этой странице перечислены флаги конфигурации для cloudflared tunnel run команду. Для удалённо управляемый туннель, добавьте эти флаги в служба туннеля. Если вы используете туннель с локальным управлением, добавьте эти флаги в свой файл конфигурации в виде пар ключ-значение.

Добавить параметры запуска в службу туннеля

Туннели с удалённым управлением работают как служба в вашей операционной системе. Чтобы добавить параметры запуска в файл службы туннеля:

В Linux Cloudflare Tunnel устанавливается как системная служба с использованием systemctl. По умолчанию служба будет называться cloudflared.service. Чтобы настроить туннель в Linux:

  1. Откройте cloudflared.service.

    sudo systemctl edit --full cloudflared.service
  2. Измените cloudflared tunnel run команду с нужным флагом конфигурации. Например,

    [Unit]
    Description=Cloudflare Tunnel
    After=network.target
    
    [Service]
    TimeoutStartSec=0
    Type=notify
    ExecStart=/usr/local/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token <TOKEN VALUE>
    Restart=on-failure
    RestartSec=5s
    
    [Install]
    WantedBy=multi-user.target
  3. Перезапустить cloudflared.service:

    sudo systemctl restart cloudflared
  4. Чтобы проверить новую конфигурацию, проверьте статус службы:

    sudo systemctl status cloudflared
    ● cloudflared.service - cloudflared
      Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
      Active: active (running) since Wed 2024-10-09 20:02:59 UTC; 2s ago
    Main PID: 2157 (cloudflared)
       Tasks: 8 (limit: 1136)
      Memory: 16.3M
         CPU: 136ms
      CGroup: /system.slice/cloudflared.service
              └─2157 /usr/bin/cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token eyJhIjoi...

В macOS Cloudflare Tunnel устанавливается как launch agent с помощью launchctl. По умолчанию агент будет называться com.cloudflare.cloudflared. Чтобы настроить туннель в macOS:

  1. Остановите cloudflared сервис.

    sudo launchctl stop com.cloudflare.cloudflared
  2. Выгрузите файл конфигурации.

    sudo launchctl unload /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
  3. Откройте /Library/LaunchDaemons/com.cloudflare.cloudflared.plist в текстовом редакторе.

  4. Измените ProgramArguments ключ с нужным флагом конфигурации. Например,

    <plist version="1.0">
        <dict>
            <key>Label</key>
            <string>com.cloudflare.cloudflared</string>
            <key>ProgramArguments</key>
            <array>
                <string>/opt/homebrew/bin/cloudflared</string>
                <string>tunnel</string>
                <string>--logfile</string>
                <string><PATH></string>
                <string>--loglevel</string>
                <string>debug</string>
                <string>run</string>
                <string>--token</string>
                <string><TOKEN VALUE> </string>
            </array>
  5. Загрузите обновлённый файл конфигурации.

    sudo launchctl load /Library/LaunchDaemons/com.cloudflare.cloudflared.plist
  6. Запустите cloudflared сервис.

    sudo launchctl start com.cloudflare.cloudflared

В Windows Cloudflare Tunnel устанавливается как системная служба с помощью редактора реестра. По умолчанию служба будет называться cloudflared. Чтобы настроить туннель в Windows:

  1. Откройте редактор реестра.

  2. Перейдите в HKEY_LOCAL_MACHINE > СИСТЕМА > CurrentControlSet > Службы > cloudflared.

  3. Дважды щёлкните ImagePath.

  4. Изменить Данные значения с нужным флагом конфигурации. Например,

    C:\Program Files (x86)\cloudflared\.\cloudflared.exe tunnel --loglevel info --logfile <PATH> run --token <TOKEN VALUE>
Изменение службы cloudflared в Редакторе реестра

Параметры

autoupdate-freq

Синтаксис По умолчанию
cloudflared tunnel --autoupdate-freq <FREQ> run <UUID or NAME> 24h

Настраивает частоту cloudflared обновления.

По умолчанию cloudflared будет периодически проверять наличие обновлений и перезапускаться с новой версией. Перезапуск выполняется путём создания нового процесса, который подключается к глобальной сети Cloudflare. При успешном подключении старый процесс корректно завершит работу после обработки всех оставшихся запросов. См. также: no-autoupdate.

config

Синтаксис По умолчанию
cloudflared tunnel --config <PATH> run <UUID or NAME> ~/.cloudflared/config.yml

Задает путь к файл конфигурации в формате YAML.

dns-resolver-addrs

Синтаксис Переменная окружения
cloudflared tunnel run --dns-resolver-addrs <IP:PORT> <UUID or NAME> TUNNEL_DNS_RESOLVER_ADDRS

Задает пользовательские адреса DNS-серверов для cloudflared для использования вместо резолверов узла по умолчанию. Каждый адрес должен быть в ip:port формате: указание IP-адреса без порта приведёт к cloudflared к сбою при запуске. Можно указать несколько резолверов, повторив этот флаг. Например,

cloudflared tunnel run --dns-resolver-addrs 1.1.1.1:53 --dns-resolver-addrs 1.0.0.1:53 <UUID or NAME>

Если указано несколько резолверов, cloudflared случайным образом выбирает один адрес для каждого DNS-запроса. Допускается не более 10 адресов резолверов.

edge-bind-address

Синтаксис Переменная окружения
cloudflared tunnel --edge-bind-address <IP> run <UUID or NAME> TUNNEL_EDGE_BIND_ADDRESS

Задает исходящий IP-адрес, используемый для установления соединения между cloudflared и глобальной сетью Cloudflare.

По умолчанию cloudflared позволяет операционной системе самой решать, какой IP-адрес использовать. Этот параметр полезен, если у вас есть несколько доступных сетевых интерфейсов и вы хотите отдавать предпочтение конкретному интерфейсу.

Версия IP для edge-bind-address переопределит edge-ip-version (если указано). Например, если вы вводите исходный адрес IPv6, cloudflared всегда будет подключаться к адресату IPv6.

edge-ip-version

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --edge-ip-version <VERSION> run <UUID or NAME> 4 TUNNEL_EDGE_IP_VERSION

Задает версию IP-адреса (IPv4 или IPv6), используемую для установления соединения между cloudflared и глобальной сетью Cloudflare. Доступные значения: auto, 4, а также 6.

Значение auto зависит от операционной системы хоста при выборе версии IP. Первая версия IP, полученная в результате DNS-разрешения при поиске региона, будет использоваться как основной набор. В сетевых конфигурациях с одновременной поддержкой IPv6 и IPv4, cloudflared разделит версии IP на два набора адресов, которые будут использоваться для переключения при сбоях подключения.

grace-period

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --grace-period <PERIOD> run <UUID or NAME> 30s TUNNEL_GRACE_PERIOD

Когда cloudflared получает сигнал SIGINT/SIGTERM, он прекращает принимать новые запросы, дожидается завершения уже выполняющихся запросов и затем завершает работу. Ожидание завершения запросов прерывается по истечении этого периода ожидания или при получении второго сигнала SIGTERM/SIGINT.

logfile

Синтаксис Переменная окружения
cloudflared tunnel --logfile <PATH> run <UUID or NAME> TUNNEL_LOGFILE

Сохраняет журнал приложения в этот файл. В основном полезно для сообщений о проблемах. Дополнительные сведения о том, какая информация нужна при обращении в службу поддержки Cloudflare, см. в это руководство.

loglevel

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --loglevel <VALUE> run <UUID or NAME> info TUNNEL_LOGLEVEL

Задает уровень детализации журналирования для локального cloudflared экземпляр. Доступные значения: debug, info (по умолчанию), warn, error, а также fatal. В debug уровень, cloudflared будет записывать в журнал и отображать URL-адрес запроса, метод, протокол, длину содержимого, а также все заголовки запроса и ответа. Учтите, что это может раскрыть конфиденциальную информацию в ваших журналах.

metrics

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --metrics <IP:PORT> run <UUID or NAME> См. Метрики туннеля TUNNEL_METRICS

Открывает конечную точку Prometheus по указанному IP-адресу и порту, к которой затем можно обращаться с запросами для метрики использования.

no-autoupdate

Синтаксис Переменная окружения
cloudflared tunnel --no-autoupdate run <UUID or NAME> NO_AUTOUPDATE

Отключает автоматическое cloudflared обновления. См. также: autoupdate-freq.

origincert

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --origincert <PATH> run <UUID or NAME> ~/.cloudflared/cert.pem TUNNEL_ORIGIN_CERT

Определяет сертификат аккаунта для одной из ваших зон, что позволяет клиенту выступать в качестве источника для этой зоны. Получить сертификат можно с помощью cloudflared tunnel login команду или перейдя по адресу https://dash.cloudflare.com/argotunnel.

pidfile

Синтаксис Переменная окружения
cloudflared tunnel --pidfile <PATH> run <UUID or NAME> TUNNEL_PIDFILE

Записывает идентификатор процесса (PID) приложения в этот файл после первого успешного подключения. Полезно в основном для написания скриптов и интеграции со службами.

post-quantum

Синтаксис Переменная окружения
cloudflared tunnel run --post-quantum <UUID or NAME> TUNNEL_POST_QUANTUM

По умолчанию подключения Cloudflare Tunnel через quic шифруются с помощью постквантовая криптография (PQC) но при проблемах с подключением произойдёт откат на non-PQ. Если --post-quantum флаг указан, quic подключения могут использовать только постквантовые (PQ) соглашения по ключам, без отката к вариантам, не относящимся к PQ.

Постквантовое согласование ключей не поддерживается при использовании http2 протокол.

protocol

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --protocol <VALUE> run <UUID or NAME> auto TUNNEL_TRANSPORT_PROTOCOL

Задает протокол, используемый для установления соединения между cloudflared и глобальной сетью Cloudflare. Доступные значения: auto, http2, а также quic.

auto значение автоматически настроит quic протокол. Если cloudflared не может установить UDP-подключения, поэтому в качестве резервного варианта будет использовать http2 протокол.

region

Синтаксис Переменная окружения
cloudflared tunnel --region <VALUE> run <UUID or NAME> TUNNEL_REGION

Позволяет выбрать регионы, к которым устанавливаются подключения. На данный момент единственное доступное значение: us, который направляет все соединения через дата-центры в США. Чтобы подключиться к глобальному региону, оставьте это поле пустым или не указывайте его.

Если для региона задано значение us, cloudflared использует другие имена хостов и IP-адреса, специфичные для США. См. Туннель с межсетевым экраном для получения подробностей.

retries

Синтаксис По умолчанию Переменная окружения
cloudflared tunnel --retries <VALUE> run <UUID or NAME> 5 TUNNEL_RETRIES

Задает максимальное количество повторных попыток при ошибках соединения или протокола. Повторные попытки используют экспоненциальную задержку (по умолчанию повтор через 1, 2, 4, 8, 16 секунд), поэтому значительно увеличивать это значение не рекомендуется.

tag

Синтаксис Переменная окружения
cloudflared tunnel --tag <KEY=VAL> run <UUID or NAME> TUNNEL_TAG

Задает пользовательские теги, используемые для идентификации этого туннеля. Можно указать несколько тегов, добавив дополнительные --tag <KEY=VAL> флаги к команде. Если вы указываете несколько тегов в конфигурационном файле, разделяйте их запятыми: tag: {KEY1=VALUE1, KEY2=VALUE2}.

token

Синтаксис Переменная окружения
cloudflared tunnel run --token <TUNNEL_TOKEN> TUNNEL_TOKEN

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

token-file

Синтаксис Переменная окружения
cloudflared tunnel run --token-file <PATH> TUNNEL_TOKEN_FILE

Связывает cloudflared экземпляр с конкретным туннелем с помощью файла, содержащего токен.