Jak skonfigurować Hailbytes VPN dla swojego środowiska AWS
Wprowadzenie
W tym artykule omówimy, jak skonfigurować HailBytes VPN w Twojej sieci, prostą i bezpieczną sieć VPN oraz zaporę ogniową dla Twojej sieci. Dalsze szczegóły i konkretne specyfikacje można znaleźć w naszej dokumentacji dla programistów, do której prowadzi link tutaj.
Przygotowanie
1. Wymagania dotyczące zasobów:
- Zalecamy rozpoczęcie od 1 procesora wirtualnego i 1 GB pamięci RAM przed skalowaniem w górę.
- W przypadku wdrożeń opartych na Omnibus na serwerach z mniej niż 1 GB pamięci należy włączyć wymianę, aby uniknąć nieoczekiwanego zabicia procesów Firezone przez jądro Linuksa.
- 1 vCPU powinien wystarczyć do nasycenia łącza 1 Gb/s dla VPN.
2. Utwórz rekord DNS: Firezone wymaga odpowiedniej nazwy domeny do użytku produkcyjnego, np. firezone.company.com. Wymagane będzie utworzenie odpowiedniego rekordu DNS, takiego jak rekord A, CNAME lub AAAA.
3. Skonfiguruj SSL: Aby używać Firezone w produkcji, będziesz potrzebować ważnego certyfikatu SSL. Firezone obsługuje ACME do automatycznego udostępniania certyfikatów SSL dla instalacji opartych na Docker i Omnibus.
4. Otwarte porty zapory ogniowej: Firezone używa portów 51820/udp i 443/tcp odpowiednio dla ruchu HTTPS i WireGuard. Porty te można później zmienić w pliku konfiguracyjnym.
Wdróż w Dockerze (zalecane)
1. Wymagania wstępne:
- Upewnij się, że korzystasz z obsługiwanej platformy z zainstalowanym narzędziem docker-compose w wersji 2 lub nowszej.
- Upewnij się, że w zaporze włączone jest przekierowanie portów. Domyślnie wymagane są otwarte następujące porty:
o 80/tcp (opcjonalnie): Automatyczne wystawianie certyfikatów SSL
o 443/tcp: Dostęp do internetowego interfejsu użytkownika
o 51820/udp: Port nasłuchiwania ruchu VPN
2. Zainstaluj opcję serwera I: instalacja automatyczna (zalecane)
- Run installation script: bash <(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh) 1889d1a18e090c-0ec2bae288f1e2-26031d51-144000-1889d1a18e11c6c
- Zada ci kilka pytań dotyczących wstępnej konfiguracji przed pobraniem przykładowego pliku docker-compose.yml. Będziesz chciał skonfigurować go za pomocą swoich odpowiedzi i wydrukować instrukcje dotyczące dostępu do interfejsu internetowego.
- Domyślny adres Firezone: $HOME/.firezone.
2. Zainstaluj serwer Opcja II: Instalacja ręczna
- Pobierz szablon redagowania platformy Docker do lokalnego katalogu roboczego
– Linux: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.prod.yml -o docker-compose.yml
– macOS lub Windows: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.desktop.yml -o docker-compose.yml
- Wygeneruj wymagane sekrety: docker run –rm firezone/firezone bin/gen-env > .env
- Zmień zmienne DEFAULT_ADMIN_EMAIL i EXTERNAL_URL. W razie potrzeby zmodyfikuj inne wpisy tajne.
- Przeprowadź migrację bazy danych: docker compose run –rm firezone bin/migrate
- Utwórz konto administratora: docker compose run –rm firezone bin/create-or-reset-admin
- Uruchom usługi: docker compose up -d
- Powinieneś mieć dostęp do interfejsu użytkownika Firezome poprzez zmienną EXTERNAL_URL zdefiniowaną powyżej.
3. Włącz przy starcie (opcjonalnie):
- Upewnij się, że Docker jest włączony podczas uruchamiania: sudo systemctl enable docker
- Usługi Firezone powinny mieć opcję restart: always lub restart: without-stopped określoną w pliku docker-compose.yml.
4. Włącz rutowanie publiczne IPv6 (opcjonalnie):
- Dodaj następujące elementy do pliku /etc/docker/daemon.json, aby włączyć NAT IPv6 i skonfigurować przekazywanie IPv6 dla kontenerów platformy Docker.
- Włącz powiadomienia routera podczas uruchamiania dla domyślnego interfejsu wyjściowego: egress=`ip route show default 0.0.0.0/0 | grep -oP '(?<=dev).*' | cięcie -f1 -d' ' | tr -d '\n'` sudo bash -c „echo net.ipv6.conf.${egress}.accept_ra=2 >> /etc/sysctl.conf”
- Uruchom ponownie i przetestuj, wysyłając polecenie ping do Google z kontenera dokera: docker run –rm -t busybox ping6 -c 4 google.com
- Nie ma potrzeby dodawania żadnych reguł iptables, aby włączyć IPv6 SNAT/masquerading dla ruchu tunelowanego. Firezone sobie z tym poradzi.
5. Zainstaluj aplikacje klienckie
Możesz teraz dodawać użytkowników do swojej sieci i konfigurować instrukcje ustanawiania sesji VPN.
Konfiguracja posta
Gratulacje, konfiguracja została zakończona! Możesz sprawdzić naszą dokumentację dla programistów pod kątem dodatkowych konfiguracji, kwestii bezpieczeństwa i zaawansowanych funkcji: https://www.firezone.dev/docs/