ЛИСТ B-04 · ПУБЛИКАЦИЯ
ARTICLE
← Назад к блогу

Как автоматизировать развертывание сервисов за Cloudflare Zero Trust с помощью cfzt

Как автоматизировать развертывание сервисов за Cloudflare Zero Trust с помощью cfzt

Если вам знакомо чувство раздражения при необходимости каждый раз настраивать доступ к внутренним сервисам через Cloudflare Zero Trust, то эта статья будет полезна. Представьте ситуацию: у вас есть множество внутренних сервисов вроде Grafana, Zabbix, n8n, Navidrome, Ollama, баз данных и других приложений. Для каждого нового сервиса требуется пройти одни и те же шаги: создание туннеля, настройка правил доступа, запись DNS-записей и включение политики Zero Trust Access. Это занимает около 15 минут даже без учета возможных ошибок.

Чтобы упростить этот процесс, автор создал инструмент cfzt — командную утилиту на языке программирования Go. Теперь достаточно одной команды, чтобы полностью развернуть сервис за Cloudflare Zero Trust:

cfzt up grafana 3000

После выполнения этой команды ваш сервис становится доступным снаружи по адресу grafana.domain.com, защищенный Cloudflare Tunnel и политикой Zero Trust Access. При этом создается системный сервис (systemd), обеспечивающий перезапуск после перезагрузки сервера.

Что делает cfzt?

Вот основные функции, которые выполняет команда cfzt up:

  • Создает туннель Cloudflare Tunnel;
  • Настраивает правило ingress для этого туннеля;
  • Регистрирует DNS-запись для публичного доступа;
  • Включает политику Zero Trust Access;
  • Запускает сервис в виде unit-файла systemd, гарантируя его доступность после перезагрузок.

Таким образом, весь процесс сводится буквально к нескольким секундам вместо привычных 15–20 минут ручной настройки.

Почему нужен watchdog для QUIC?

При использовании протокола QUIC могут возникать проблемы с подключением клиентов, особенно если они находятся за NAT или используют устаревшие устройства. Чтобы избежать таких ситуаций, в cfzt встроена функция watchdog, которая автоматически следит за состоянием подключения и восстанавливает соединение при сбоях. Эта мера позволяет обеспечить стабильное функционирование сервисов даже при нестабильном сетевом окружении.

Преимущества использования cfzt

Использование cfzt дает следующие преимущества:

  • Значительное сокращение времени на настройку новых сервисов;
  • Автоматическое восстановление соединений при проблемах с протоколом QUIC;
  • Простота управления благодаря единой команде;
  • Надежность работы благодаря интеграции с systemd.

Эти особенности делают cfzt отличным решением для тех, кто хочет минимизировать усилия на администрирование инфраструктуры и сосредоточиться на более важных задачах.

Ограничения и возможные улучшения

На данный момент cfzt поддерживает ограниченное количество конфигураций и может требовать доработки для специфических сценариев. Например, пока не реализована поддержка динамических портов или сложных политик доступа. Однако проект активно развивается, и сообщество уже предлагает идеи по улучшению функционала.

Заключение и практические советы

Для того чтобы начать использовать cfzt, необходимо выполнить следующие действия:

  1. Установите последнюю версию Go на сервере;
  2. Скачайте бинарник cfzt с официального репозитория проекта;
  3. Проверьте наличие необходимых прав для создания записей DNS и конфигурации Cloudflare;
  4. Выполните первую команду развертывания вашего сервиса.

С помощью cfzt вы сможете значительно ускорить процесс развертывания сервисов и повысить надежность их функционирования.

Поделиться:TelegramVK

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