Как настроить Hailbytes VPN для вашей среды AWS

Введение

В этой статье мы рассмотрим, как настроить HailBytes VPN в вашей сети, простой и безопасный VPN и брандмауэр для вашей сети. Более подробную информацию и конкретные спецификации можно найти в нашей документации для разработчиков по ссылке здесь.

Подготовка к работе.

   1. Требования к ресурсам:

  • Перед масштабированием рекомендуется начать с 1 виртуального ЦП и 1 ГБ ОЗУ.
  • Для развертываний на основе Omnibus на серверах с объемом памяти менее 1 ГБ следует включить подкачку, чтобы ядро ​​Linux не могло неожиданно убить процессы Firezone.
  • 1 виртуального ЦП должно быть достаточно для насыщения канала 1 Гбит/с для VPN.
 

   2.  Создайте DNS-запись: Firezone требуется правильное доменное имя для использования в рабочей среде, например, firezone.company.com. Потребуется создание соответствующей записи DNS, такой как запись A, CNAME или AAAA.

   3.  Настройте SSL: вам понадобится действующий сертификат SSL, чтобы использовать Firezone в производственных целях. Firezone поддерживает ACME для автоматической подготовки SSL-сертификатов для установок на основе Docker и Omnibus.

   4.  Открытые порты брандмауэра: Firezone использует порты 51820/udp и 443/tcp для трафика HTTPS и WireGuard соответственно. Вы можете изменить эти порты позже в файле конфигурации.

Развертывание в Docker (рекомендуется)

   1. Предпосылки:

  • Убедитесь, что вы используете поддерживаемую платформу с установленной версией docker-compose 2 или выше.

 

  • Убедитесь, что в брандмауэре включена переадресация портов. По умолчанию требуется, чтобы были открыты следующие порты:

         o 80/tcp (необязательно): автоматическая выдача SSL-сертификатов.

         o 443/tcp: Доступ к веб-интерфейсу

         o 51820/udp: порт прослушивания VPN-трафика.

  2.  Вариант установки сервера I: автоматическая установка (рекомендуется)

  • Run installation script: bash <(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh) 1889d1a18e090c-0ec2bae288f1e2-26031d51-144000-1889d1a18e11c6c

 

  • Перед загрузкой образца файла docker-compose.yml вам будет задано несколько вопросов относительно начальной настройки. Вы захотите настроить его своими ответами и распечатать инструкции для доступа к веб-интерфейсу.

 

  • Адрес пожарной зоны по умолчанию: $HOME/.firezone.
 

  2.  Установить сервер Вариант II: ручная установка

  • Загрузите шаблон создания докеров в локальный рабочий каталог.

          – Linux: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.prod.yml -o docker-compose.yml

          – macOS или Windows: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.desktop.yml -o docker-compose.yml

  • Сгенерируйте необходимые секреты: docker run –rm firezone/firezone bin/gen-env > .env

 

  • Измените переменные DEFAULT_ADMIN_EMAIL и EXTERNAL_URL. При необходимости измените другие секреты.

 

  • Перенесите базу данных: docker compose run –rm firezone bin/migrate

 

  • Создайте учетную запись администратора: docker compose run –rm firezone bin/create-or-reset-admin

 

  • Поднимите сервисы: docker compose up -d

 

  • Вы должны иметь доступ к пользовательскому интерфейсу Firezome через переменную EXTERNAL_URL, определенную выше.
 

   3. Включить при загрузке (необязательно):

  • Убедитесь, что Docker включен при запуске: sudo systemctl enable docker

 

  • Службы Firezone должны иметь параметр перезапуск: всегда или перезапуск: если не остановлен, указанный в файле docker-compose.yml.

   4. Включите общедоступную маршрутизацию IPv6 (необязательно):

  • Добавьте следующее в /etc/docker/daemon.json, чтобы включить IPv6 NAT и настроить переадресацию IPv6 для контейнеров Docker.

 

  • Включите уведомления маршрутизатора при загрузке для исходящего интерфейса по умолчанию: egress=`ip route show default 0.0.0.0/0 | grep -oP '(?<=dev ).*' | вырезать -f1 -d' ' | tr -d '\n'` sudo bash -c «echo net.ipv6.conf.${egress}.accept_ra=2 >> /etc/sysctl.conf»

 

  • Перезагрузитесь и проверьте связь с Google из контейнера Docker: docker run –rm -t busybox ping6 -c 4 google.com

 

  • Нет необходимости добавлять какие-либо правила iptables, чтобы включить IPv6 SNAT/маскарад для туннелируемого трафика. Firezone справится с этим.
 

   5. Установите клиентские приложения

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

Почтовая установка

Поздравляем, вы завершили настройку! Вы можете проверить нашу документацию для разработчиков, чтобы узнать о дополнительных конфигурациях, соображениях безопасности и дополнительных функциях: https://www.firezone.dev/docs/