Как да настроите Hailbytes VPN за вашата AWS среда

Въведение

В тази статия ще разгледаме как да настроите HailBytes VPN във вашата мрежа, проста и сигурна VPN и защитна стена за вашата мрежа. Допълнителни подробности и специфични спецификации могат да бъдат намерени в нашата свързана документация за разработчици тук.

Подготовка

   1. Изисквания за ресурси:

  • Препоръчваме да започнете с 1 vCPU и 1 GB RAM, преди да увеличите мащаба.
  • За базирани на Omnibus внедрявания на сървъри с по-малко от 1 GB памет, трябва да включите swap, за да избегнете неочаквано спиране на процесите на Firezone от ядрото на Linux.
  • 1 vCPU трябва да е достатъчен за насищане на 1 Gbps връзка за 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. Ще искате да го конфигурирате с вашите отговори и да отпечатате инструкции за достъп до уеб интерфейса.

 

  • Адрес по подразбиране на Firezone: $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 Public Routability (по избор):

  • Добавете следното към /etc/docker/daemon.json, за да активирате IPv6 NAT и да конфигурирате IPv6 пренасочване за Docker контейнери.

 

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

 

  • Рестартирайте и тествайте, като изпратите ping до Google от контейнера на докер: docker run –rm -t busybox ping6 -c 4 google.com

 

  • Няма нужда да добавяте правила за iptables, за да активирате IPv6 SNAT/маскиране за тунелиран трафик. Firezone ще се справи с това.
 

   5. Инсталирайте клиентски приложения

        Вече можете да добавяте потребители към вашата мрежа и да конфигурирате инструкции за установяване на VPN сесия.

След настройка

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