Як налаштувати Hailbytes VPN для вашого середовища AWS

Вступ

У цій статті ми розглянемо, як налаштувати HailBytes VPN у вашій мережі, простий і безпечний VPN і брандмауер для вашої мережі. Додаткову інформацію та специфікації можна знайти в нашій документації для розробників за посиланням тут.

Підготовка

   1. Вимоги до ресурсів:

  • Ми рекомендуємо почати з 1 віртуального ЦП і 1 ГБ оперативної пам’яті перед збільшенням.
  • Для розгортань на основі Omnibus на серверах із менш ніж 1 ГБ пам’яті слід увімкнути обмін, щоб ядро ​​Linux несподівано зупинило процеси Firezone.
  • 1 vCPU має бути достатнім для насичення з’єднання 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. Ви захочете налаштувати його своїми відповідями та роздрукувати інструкції для доступу до веб-інтерфейсу користувача.

 

  • Стандартна адреса 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 (необов’язково):

  • Додайте наступне до /etc/docker/daemon.json, щоб увімкнути NAT IPv6 і налаштувати переадресацію 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 run –rm -t busybox ping6 -c 4 google.com

 

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

   5. Встановіть клієнтські програми

        Тепер ви можете додавати користувачів до своєї мережі та налаштовувати інструкції для встановлення сеансу VPN.

Після налаштування

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