← Cloudflare One / cloudflare-one / access-controls / applications / non-http / cloudflared-authentication
Arbitrary TCP
Cloudflare Access предоставляет конечным пользователям механизм для аутентификации у своего поставщика единого входа (SSO) и подключения к ресурсам по произвольному TCP-трафику без подключения к виртуальной частной сети (VPN).
Требования
- Аккаунт Cloudflare
- Сайт, активный в Cloudflare
-
cloudflaredдемон, установленный на хост-машине и клиентских машинах
Cloudflare Access требует, чтобы вы сначала Добавьте сайт ↗ к Cloudflare. Вы можете использовать любой зарегистрированный сайт. Он не обязательно должен быть тем же сайтом, который вы используете для трафика клиентов, и не обязан совпадать с сайтами в вашей внутренней DNS.
Добавление сайта в Cloudflare требует изменения авторитативных DNS-серверов вашего домена на серверы имён Cloudflare. После настройки все запросы к этому имени хоста будут сначала отправляться в сеть Cloudflare, где к ним можно применить политики Access.
Подключите хост к Cloudflare
1. Установите демон Cloudflare на хост-машине
Демон Cloudflare, cloudflared, будет поддерживать защищённое постоянное исключительно исходящее соединение с компьютера в Cloudflare. Произвольный TCP-трафик будет проксироваться через это соединение с помощью Cloudflare Tunnel ↗.
Следуйте эти инструкции чтобы скачать и установить cloudflared на машине, на которой размещён ресурс.
2. Аутентифицируйте демон Cloudflare
Выполните следующую команду для аутентификации cloudflared в ваш аккаунт Cloudflare.
cloudflared tunnel logincloudflared откроет окно браузера и предложит вам войти в свой аккаунт Cloudflare. Если вы работаете на компьютере без браузера или окно браузера не открывается, скопируйте URL-адрес из вывода командной строки и откройте его в браузере на любом другом компьютере.
После входа Cloudflare отобразит сайты, добавленные в аккаунт. Выберите сайт, для которого нужно создать поддомен, представляющий ресурс. Например, если вы планируете предоставить доступ к сервису по адресу tcp.site.com выбрать site.com из списка.
После выбора cloudflared загрузит wildcard-сертификат для сайта. Этот сертификат позволит cloudflared чтобы создать DNS-запись для поддомена сайта.
3. Защитите поддомен с помощью Cloudflare Access
Далее защитите поддомен, который вы планируете зарегистрировать, с помощью политики Cloudflare Access. Следуйте эти инструкции чтобы создать новую политику, определяющую, кто может подключаться к ресурсу.
Например, если вы предоставляете доступ к ресурсу по адресу tcp.site.com, создайте политику, разрешающую подключение к этому субдомену только участникам вашей команды.
4. Подключите ресурс к Cloudflare
cloudflared может проксировать подключения к нестандартным портам.
Выполните следующую команду, чтобы подключить ресурс к Cloudflare, заменив tcp.site.com и 7870 значения данными вашего сайта и порта.
cloudflared tunnel --hostname tcp.site.com --url tcp://localhost:7870cloudflared подтвердит установление соединения. Процесс необходимо настроить так, чтобы он оставался активным и запускался автоматически. Если процесс будет завершён, конечные пользователи не смогут подключиться.
Подключитесь с клиентского компьютера
1. Установите демон Cloudflare на клиентском устройстве
Выполните те же действия, что и выше, чтобы загрузить и установить cloudflared на клиентском компьютере, который будет подключаться к ресурсу. cloudflared необходимо установить на каждое пользовательское устройство, которое будет подключаться.
2. Подключитесь к ресурсу
Выполните следующую команду, чтобы создать подключение от устройства к Cloudflare. Можно указать любой доступный порт.
cloudflared access tcp --hostname tcp.site.com --url localhost:9210Эту команду можно оформить в виде ярлыка на рабочем столе, чтобы конечным пользователям не приходилось использовать командную строку.
Направьте клиентское приложение на выбранный порт.
При запуске клиента cloudflared откроет окно браузера и предложит пользователю пройти аутентификацию у вашего поставщика SSO.
Частые проблемы
- Убедитесь, что межсетевой экран компьютера разрешает исходящий трафик на портах 80 и 443, иначе
cloudflaredвернёт ошибку.