Table of Contents

Руководство по настройке туннелей Cloudflare.

Введение

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


Почему именно туннели Cloudflare?

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


Предварительные условия

Перед настройкой туннелей Cloudflare убедитесь, что у вас есть следующее:

  1. Активная учетная запись Cloudflare.
  2. Сервер под управлением Ubuntu.

Шаг 1: Установка

Для начала необходимо установить пакет Cloudflare Tunnels на сервер Ubuntu. Для этого выполните следующие действия:

  1. Откройте терминал на сервере Ubuntu.
  2. Загрузите последнюю версию пакета Cloudflare Tunnels, выполнив следующую команду:
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

Шаг 2: Аутентификация

Далее необходимо аутентифицировать учетную запись Cloudflare с помощью службы Cloudflare Tunnels. Для этого выполните следующие действия:

  1. Выполните в терминале следующую команду:
cloudflared tunnel login
  1. Щелкните на сайте, который вы хотите использовать с вашим туннелем, чтобы завершить процесс аутентификации.

Шаг 3: Создание туннеля

Теперь пришло время создать туннель Cloudflare. Выполните следующие шаги:

  1. Выполните в терминале следующую команду для создания туннеля:
cloudflared tunnel create name_of_tunnel
  1. Выберите запоминающееся и описательное имя туннеля. Обратите внимание, что имя туннеля нельзя изменить в дальнейшем.

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

  1. Чтобы просмотреть список всех активных туннелей, выполните команду:
cloudflared tunnel list

В результате будут отображены имена и UUID ваших туннелей.

Шаг 4: Настройка туннеля

Чтобы настроить туннель и начать маршрутизацию трафика, выполните следующие действия:

  1. Перейдите в каталог Cloudflare Tunnels на вашем сервере. По умолчанию это каталог /etc/cloudflared

  2. В этом каталоге создайте новый файл с именем config.yml используя текстовый редактор по своему усмотрению.

  3. Наполните файл config.yml следующим содержимым:

tunnel: <your_tunnels_uuid>
credentials-file: /path/to/credentials/<UUID>.json

Обязательно замените <your_tunnels_uuid> с UUID вашего туннеля, и при необходимости обновите путь к файлу учетных данных.

Шаг 5: Маршрутизация трафика

Чтобы указать внутренние службы, которые будут обслуживаться через туннель, выполните следующие действия:

  1. Open the файл снова.

  2. Добавьте в файл параметры входа, чтобы определить сервисы, которые вы хотите маршрутизировать через Cloudflare. Например:

tunnel: <your_tunnels_uuid>
credentials-file: /path/to/credentials/<UUID>.json

ingress:
  - hostname: example.com
    service: http://10.10.10.123:1234
  - hostname: subdomain.example.com
    service: http://10.10.10.123:8888
  - service: http_status:404

Заменить <your_tunnels_uuid> с UUID вашего туннеля, а также обновить имя хоста и информацию о сервисе в соответствии с вашей конфигурацией.

  1. Сохраните файл config.yml.

Шаг 6: Создание DNS-записей

Чтобы создать DNS-записи для имени хоста и служб туннеля, выполните следующие действия:

  1. Откройте терминал.

  2. С помощью следующей команды создайте запись DNS:

cloudflared tunnel route dns <UUID or NAME of tunnel> <hostname>

Заменить <UUID or NAME of tunnel> с UUID или именем вашего туннеля, и <hostname> с желаемым именем хоста для вашей службы.

  1. Например, чтобы создать DNS-запись для example.com, выполните команду:
cloudflared tunnel route dns <UUID or NAME of tunnel> example.com

Обратите внимание, что изменения будут отражены в разделе DNS вашей панели Cloudflare.

Шаг 7: Запуск туннеля

Чтобы протестировать и запустить туннель Cloudflare, выполните следующие действия:

  1. Откройте терминал.

  2. Выполните следующую команду для запуска туннеля:

cloudflared tunnel run <UUID or NAME of tunnel>

Заменить <UUID or NAME of tunnel> с UUID или именем вашего туннеля.

  1. Теперь Cloudflared настроит туннель и отобразит информацию о его состоянии. После того как туннель будет успешно запущен, можно переходить к следующему шагу.

  2. Чтобы туннель не закрывался при выходе из терминала, необходимо запустить Cloudflared как службу systemd. Для этого выполните следующую команду:

cloudflared --config /path/to/config.yml service install

Заменить /path/to/config.yml с указанием пути к вашему config.yml файл.

Заключение

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

Если у вас возникнут какие-либо проблемы или потребуется дополнительная помощь, обратитесь к разделу official Cloudflare Tunnels documentation

References