Kaip nustatyti „Hailbytes“ VPN jūsų AWS aplinkai

Įvadas

Šiame straipsnyje apžvelgsime, kaip tinkle nustatyti „HailBytes VPN“ – paprastą ir saugų VPN ir tinklo ugniasienę. Išsamesnę informaciją ir konkrečias specifikacijas rasite mūsų kūrėjo dokumentacijoje, susietoje su nuoroda čia.

Rengimas

   1. Reikalavimai ištekliams:

  • Prieš didinant mastelį, rekomenduojame pradėti nuo 1 vCPU ir 1 GB RAM.
  • „Omnibus“ pagrindu diegiant serveriuose, kuriuose yra mažiau nei 1 GB atminties, turėtumėte įjungti apsikeitimą, kad „Linux“ branduolys netikėtai neužmuštų „Firezone“ procesų.
  • 1 vCPU turėtų pakakti, kad prisotintų 1 Gbps ryšį VPN.
 

   2.  Sukurti DNS įrašą: „Firezone“ reikalingas tinkamas domeno pavadinimas gamybiniam naudojimui, pvz., firezone.company.com. Reikės sukurti atitinkamą DNS įrašą, pvz., A, CNAME arba AAAA įrašą.

   3.  SSL nustatymas: norint naudoti „Firezone“ gamybos pajėgumais, jums reikės galiojančio SSL sertifikato. „Firezone“ palaiko ACME, skirtą automatiniam „Docker“ ir „Omnibus“ įrenginių SSL sertifikatų aprūpinimui.

   4.  Atviri ugniasienės prievadai: „Firezone“ atitinkamai HTTPS ir „WireGuard“ srautui naudoja prievadus 51820/udp ir 443/tcp. Šiuos prievadus galėsite pakeisti vėliau konfigūracijos faile.

Diegimas „Docker“ (rekomenduojama)

   1. Būtinos sąlygos:

  • Įsitikinkite, kad naudojate palaikomą platformą, kurioje įdiegta 2 ar naujesnė docker-compose versija.

 

  • Įsitikinkite, kad ugniasienėje įjungtas prievadų persiuntimas. Pagal numatytuosius nustatymus reikia atidaryti šiuos prievadus:

         o 80/tcp (neprivaloma): automatiškai išduoda SSL sertifikatus

         o 443/tcp: pasiekite žiniatinklio vartotojo sąsają

         o 51820/udp: VPN srauto klausymo prievadas

  2.  Įdiegti serverį I parinktis: automatinis diegimas (rekomenduojama)

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

 

  • Prieš atsisiunčiant pavyzdinį docker-compose.yml failą, jis užduos keletą klausimų apie pradinę konfigūraciją. Norėsite sukonfigūruoti jį su savo atsakymais ir atspausdinti instrukcijas, kaip pasiekti žiniatinklio vartotojo sąsają.

 

  • Numatytasis „Firezone“ adresas: $HOME/.firezone.
 

  2.  Įdiegti serverį II variantas: rankinis diegimas

  • Atsisiųskite „Docker“ kūrimo šabloną į vietinį darbo katalogą

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

          – „MacOS“ arba „Windows“: curl -fsSL https://raw.githubusercontent.com/firezone/firezone/master/docker-compose.desktop.yml -o docker-compose.yml

  • Sugeneruokite reikiamas paslaptis: docker run –rm firezone/firezone bin/gen-env > .env

 

  • Pakeiskite DEFAULT_ADMIN_EMAIL ir EXTERNAL_URL kintamuosius. Jei reikia, pakeiskite kitas paslaptis.

 

  • Perkelkite duomenų bazę: docker compose run –rm firezone bin/migrate

 

  • Sukurkite administratoriaus paskyrą: docker compose run –rm firezone bin/create-or-reset-admin

 

  • Sukelti paslaugas: docker compose up -d

 

  • Turėtumėte turėti galimybę pasiekti „Firezome“ vartotojo sąsają naudodami anksčiau apibrėžtą EXTERNAL_URL kintamąjį.
 

   3. Įgalinti paleidžiant (pasirenkama):

  • Įsitikinkite, kad „Docker“ įjungtas paleidžiant: sudo systemctl enable docker

 

  • „Firezone“ paslaugos turi būti paleidžiamos iš naujo: visada arba paleisti iš naujo: nebent docker-compose.yml faile nurodyta parinktis-sustabta.

   4. Įgalinkite viešąjį IPv6 nukreipimą (pasirenkama):

  • Pridėkite toliau pateiktą failą /etc/docker/daemon.json, kad įgalintumėte IPv6 NAT ir sukonfigūruotumėte IPv6 persiuntimą Docker konteineriams.

 

  • Įgalinti maršrutizatoriaus pranešimus paleidžiant numatytąją išėjimo sąsają: egress=`ip maršrutas rodyti numatytąjį 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"

 

  • Paleiskite iš naujo ir išbandykite prisijungdami prie „Google“ iš „Docker“ konteinerio: docker run –rm -t busybox ping6 -c 4 google.com

 

  • Nereikia pridėti jokių iptables taisyklių, kad įgalintumėte IPv6 SNAT/masquerading tuneliniam srautui. Firezone tai susitvarkys.
 

   5. Įdiekite kliento programas

        Dabar galite pridėti vartotojų prie tinklo ir sukonfigūruoti VPN seanso nustatymo instrukcijas.

Pašto sąranka

Sveikiname, baigėte sąranką! Galbūt norėsite peržiūrėti mūsų kūrėjo dokumentaciją dėl papildomų konfigūracijų, saugumo sumetimų ir išplėstinių funkcijų: https://www.firezone.dev/docs/