Come configurare Hailbytes VPN per il tuo ambiente AWS

Introduzione

In questo articolo esamineremo come configurare la VPN HailBytes sulla tua rete, una VPN e un firewall semplici e sicuri per la tua rete. Ulteriori dettagli e specifiche specifiche possono essere trovati nella nostra documentazione per sviluppatori collegata qui.

PREPARAZIONE

   1.  Requisiti delle risorse:

  • Ti consigliamo di iniziare con 1 vCPU e 1 GB di RAM prima di aumentare la scalabilità.
  • Per le distribuzioni basate su Omnibus su server con meno di 1 GB di memoria, è necessario attivare lo scambio per evitare che il kernel Linux interrompa inaspettatamente i processi Firezone.
  • 1 vCPU dovrebbe essere sufficiente a saturare un collegamento da 1 Gbps per la VPN.
 

   2.  Crea record DNS:  Firezone richiede un nome di dominio appropriato per l'uso in produzione, ad es. firezone.company.com. Sarà richiesta la creazione di un record DNS appropriato come il record A, CNAME o AAAA.

   3.  Configura SSL: avrai bisogno di un certificato SSL valido per utilizzare Firezone a livello di produzione. Firezone supporta ACME per il provisioning automatico di certificati SSL per installazioni basate su Docker e Omnibus.

   4.  Porte firewall aperte: Firezone utilizza le porte 51820/udp e 443/tcp rispettivamente per il traffico HTTPS e WireGuard. Potrai modificare queste porte successivamente nel file di configurazione.

Distribuisci su Docker (consigliato)

   1.  Prerequisiti:

  • Assicurati di utilizzare una piattaforma supportata con docker-compose versione 2 o successiva installata.

 

  • Assicurati che il port forwarding sia abilitato sul firewall. Per impostazione predefinita, è necessario che siano aperte le seguenti porte:

         o   80/tcp (facoltativo): emissione automatica di certificati SSL

         o   443/tcp: accesso all'interfaccia utente web

         o   51820/udp: porta di ascolto del traffico VPN

  2.  Installa server Opzione I: installazione automatica (consigliata)

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

 

  • Ti verranno poste alcune domande relative alla configurazione iniziale prima di scaricare un file docker-compose.yml di esempio. Ti consigliamo di configurarlo con le tue risposte e stampare le istruzioni per accedere all'interfaccia utente Web.

 

  • Indirizzo predefinito di Firezone: $HOME/.firezone.
 

  2.  Installa Server Opzione II: installazione manuale

  • Scarica il modello di composizione della finestra mobile in una directory di lavoro locale

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

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

  • Genera i segreti richiesti: docker run –rm firezone/firezone bin/gen-env > .env

 

  • Modificare le variabili DEFAULT_ADMIN_EMAIL e EXTERNAL_URL. Modificare altri segreti secondo necessità.

 

  • Migrare il database: docker compose run –rm firezone bin/migrate

 

  • Crea un account amministratore: docker compose run –rm firezone bin/create-or-reset-admin

 

  • Attiva i servizi: la finestra mobile compone -d

 

  • Dovresti essere in grado di accedere all'interfaccia utente di Firezome tramite la variabile EXTERNAL_URL definita sopra.
 

   3.  Abilita all'avvio (facoltativo):

  • Assicurati che Docker sia abilitato all'avvio: sudo systemctl abilita docker

 

  • I servizi Firezone dovrebbero avere l'opzione restart: sempre o restart: less-stopped specificata nel file docker-compose.yml.

   4.  Abilita la instradabilità pubblica IPv6 (facoltativo):

  • Aggiungi quanto segue a /etc/docker/daemon.json per abilitare NAT IPv6 e configurare l'inoltro IPv6 per i contenitori Docker.

 

  • Abilita le notifiche del router all'avvio per l'interfaccia di uscita predefinita: egress=`ip route show default 0.0.0.0/0 | grep -oP '(?> /etc/sysctl.conf”

 

  • Riavvia ed esegui il test eseguendo il ping su Google dal contenitore docker: docker run –rm -t busybox ping6 -c 4 google.com

 

  • Non è necessario aggiungere alcuna regola iptables per abilitare SNAT/masquerading IPv6 per il traffico in tunnel. Firezone se ne occuperà.
 

   5. Installa le app client

        Ora puoi aggiungere utenti alla tua rete e configurare le istruzioni per stabilire una sessione VPN.

Posta installazione

Congratulazioni, hai completato la configurazione! Potresti voler controllare la nostra documentazione per sviluppatori per ulteriori configurazioni, considerazioni sulla sicurezza e funzionalità avanzate: https://www.firezone.dev/docs/