
cloudflared v2026.8.3
Клиент для Cloudflare Tunnel, обеспечивающий безопасные исходящие подключения к источникам через архитектуру Zero Trust. Поддерживает HTTP, WebSocket, SSH и RDP трафик без изменений в файрволе, предоставляя контроль доступа и аутентификацию.
Клиент Cloudflare Tunnel
Содержит клиент командной строки для Cloudflare Tunnel — демон туннелирования, который проксирует трафик из сети Cloudflare к вашим источникам.
Этот демон находится между сетью Cloudflare и вашим источником (например, веб-сервером). Cloudflare принимает клиентские запросы и отправляет их вам
через этот демон, не требуя открывать дыры в вашем брандмауэре — ваш источник может оставаться максимально закрытым.
Обширная документация доступна в разделе Cloudflare Tunnel документации Cloudflare.
Все варианты использования, связанные с проксированием к вашим источникам, доступны в cloudflared tunnel help.
Вы также можете использовать cloudflared для доступа к источникам Tunnel (защищённым с помощью cloudflared tunnel) для TCP-трафика
на уровне 4 (то есть не HTTP/websocket), что актуально для таких сценариев, как SSH, RDP и т. д.
Такие варианты использования доступны в cloudflared access help.
Вместо этого вы можете использовать клиент WARP
для доступа к приватным источникам за Tunnel для трафика уровня 4 без необходимости использовать команды cloudflared access на стороне клиента.
Прежде чем начать
Прежде чем использовать Cloudflare Tunnel, вам нужно выполнить несколько шагов в панели управления Cloudflare: необходимо добавить веб-сайт в вашу учётную запись Cloudflare. Обратите внимание, что сегодня можно использовать Tunnel без веб-сайта (например, для приватной маршрутизации), но по историческим причинам это требование всё ещё необходимо:
Установка cloudflared
Загрузки доступны в виде автономных бинарных файлов, образа Docker, а также пакетов Debian, RPM и Homebrew. Вы также можете найти релизы здесь в репозитории cloudflared на GitHub.
- Вы можете установить на macOS через Homebrew или загрузив последний релиз для Darwin amd64
- Бинарные файлы, пакеты Debian и RPM для Linux можно найти здесь
- Образ Docker для
cloudflaredдоступен на DockerHub - Вы можете установить на машинах Windows, следуя инструкциям здесь
- Чтобы собрать из исходного кода, установите требуемую версию go, указанную в разделе Разработка ниже. Затем вы можете выполнить
make cloudflared.
Пользовательская документация по Cloudflare Tunnel доступна по адресу https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/
Создание Tunnel и маршрутизация трафика
После установки вы можете аутентифицировать cloudflared в вашей учётной записи Cloudflare и начать создавать Tunnel для обслуживания трафика к вашим источникам.
- Создайте Tunnel, следуя этим инструкциям
- Направьте трафик к этому Tunnel:
- Через публичные DNS-записи в Cloudflare
- Или через публичное имя хоста, управляемое Cloudflare Load Balancer
- Или из приватного трафика клиента WARP
TryCloudflare
Хотите протестировать Cloudflare Tunnel перед добавлением веб-сайта в Cloudflare? Вы можете сделать это с помощью TryCloudflare, используя документацию, доступную здесь.
Критические изменения
Удаление флагов CLI, переменных окружения, ключей конфигурации или команд является критическим изменением. Такие удаления должны быть объявлены в журнале изменений Cloudflare Tunnel до релиза, в котором они удаляются.
Устаревшие версии
Cloudflare в настоящее время поддерживает версии cloudflared, выпущенные в течение одного года до последнего релиза. Могут быть внесены критические изменения, не связанные с доступностью функций, которые затронут версии, выпущенные более года назад. Подробнее об обновлении cloudflared можно прочитать в нашей документации для разработчиков.
Например, по состоянию на январь 2023 года Cloudflare будет поддерживать cloudflared версии 2023.1.1 до cloudflared 2022.1.1.
Разработка
Требования
- GNU Make
- capnp
- go >= 1.27
- Дополнительные инструменты:
Сборка
Чтобы собрать cloudflared локально, выполните make cloudflared
Тестирование
Чтобы запустить тесты локально, выполните make test
Линтинг
Чтобы отформатировать код и поддерживать хорошее качество кода, используйте make fmt и make lint
Моки
После изменений в интерфейсах вам может потребоваться перегенерировать моки, поэтому выполните make mocks
Git-хуки
Чтобы избежать ошибок CI, вы можете установить pre-push хуки, которые запускают линтинг и тесты перед каждым пушем:
make install-hooks
Это настроит git на использование хуков в .githooks/, которые запускают make fmt-check lint test перед каждым пушем.