Kako postaviti VPN temeljen na IPsec-u uz Strongswan na CentOS/RHEL 8


strongSwan je otvoreno izvorno, multi-platformsko, moderno i cjelovito IPsec-based VPN rješenje za Linux koje pruža punu podršku za Internet Key Exchange (i IKEv1 i IKEv2) za uspostavljanje sigurnosnih asocijacija (SA) između dva ravnopravna uređaja. Pun je značajki, modularan je po dizajnu i nudi desetke dodataka koji poboljšavaju temeljnu funkcionalnost.

Povezani članak: Kako postaviti VPN temeljen na IPsec-u uz Strongswan na Debianu i Ubuntuu

U ovom ćete članku naučiti kako postaviti IPsec VPN pristupnike od mjesta do mjesta koristeći strongSwan na poslužiteljima CentOS/RHEL 8. To omogućuje peerovima međusobnu autentifikaciju korištenjem snažnog unaprijed dijeljenog ključa (PSK). Postavljanje od mjesta do mjesta znači da svaki sigurnosni pristupnik iza sebe ima podmrežu.

Okruženje za testiranje

Ne zaboravite koristiti IP adrese iz stvarnog svijeta tijekom konfiguracije dok slijedite vodič.

Site 1 Gateway
Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Site 2 Gateway
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

Korak 1: Omogućavanje IP prosljeđivanja kernela u CentOS 8

1. Započnite omogućavanjem funkcije IP prosljeđivanja jezgre u /etc/sysctl.conf konfiguracijskoj datoteci na oba VPN pristupnika.

vi /etc/sysctl.conf

Dodajte ove retke u datoteku.

net.ipv4.ip_forward = 1 
net.ipv6.conf.all.forwarding = 1 
net.ipv4.conf.all.accept_redirects = 0 
net.ipv4.conf.all.send_redirects = 0 

2. Nakon spremanja promjena u datoteci, pokrenite sljedeću naredbu za učitavanje novih parametara jezgre u vremenu izvođenja.

sysctl -p

3. Zatim stvorite stalnu statičnu rutu u datoteci /etc/sysconfig/network-scripts/route-eth0 na oba sigurnosna pristupnika.

vi /etc/sysconfig/network-scripts/route-eth0

Dodajte sljedeći redak u datoteku.

#Site 1 Gateway
10.20.1.0/24  via 192.168.56.7

#Site 2 Gateway
10.10.1.0/24 via 192.168.56.6

4. Zatim ponovno pokrenite upravitelja mreže kako biste primijenili nove promjene.

systemctl restart NetworkManager

Korak 2: Instalirajte strongSwan u CentOS 8

5. Paket strongswan dostupan je u spremištu EPEL. Da biste ga instalirali, trebate omogućiti EPEL repozitorij, zatim instalirati strongwan na oba sigurnosna pristupnika.

dnf install epel-release
dnf install strongswan

6. Za provjeru verzije strongswan instalirane na oba pristupnika, pokrenite sljedeću naredbu.

strongswan version

7. Zatim pokrenite uslugu strongswan i omogućite joj automatsko pokretanje pri dizanju sustava. Zatim provjerite status na oba sigurnosna pristupnika.

systemctl start strongswan 
systemctl enable strongswan
systemctl status strongswan

Napomena: Najnovija verzija strongswan u CentOS/REHL 8 dolazi s podrškom za oba swanctl (novi, prijenosni uslužni program naredbenog retka uveden sa strongSwan 5.2.0, koristi se za konfiguriranje, kontrolu i nadzor IKE demona Charon pomoću vici dodatka) i starter (ili ipsec) uslužni program koji koristi zastarjeli stroke dodatak.

8. Glavni konfiguracijski direktorij je /etc/strongswan/ koji sadrži konfiguracijske datoteke za oba dodatka:

ls /etc/strongswan/

Za ovaj vodič koristit ćemo uslužni program IPsec koji se poziva pomoću naredbe strongswan i sučelja poteza. Stoga ćemo koristiti sljedeće konfiguracijske datoteke:

  • /etc/strongswan/ipsec.conf – konfiguracijska datoteka za strongSwan IPsec podsustav.
  • /etc/strongswan/ipsec.secrets – tajna datoteka.

Korak 3: Konfiguriranje sigurnosnih pristupnika

9. U ovom koraku trebate konfigurirati profile veze na svakom sigurnosnom pristupniku za svaku stranicu koristeći /etc/strongswan/ipsec.conf konfiguracijsku datoteku strongswan.

Konfiguriranje profila veze Site 1

cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
vi /etc/strongswan/ipsec.conf

Kopirajte i zalijepite sljedeću konfiguraciju u datoteku.

config setup
        charondebug="all"
        uniqueids=yes
conn ateway1-to-gateway2
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.7
        leftsubnet=10.10.1.1/24
        right=192.168.56.6
        rightsubnet=10.20.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

Konfiguriranje profila veze Site 2

cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
vi /etc/strongswan/ipsec.conf

Kopirajte i zalijepite sljedeću konfiguraciju u datoteku:

config setup
        charondebug="all"
        uniqueids=yes
conn 2gateway-to-gateway1
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.6
        leftsubnet=10.20.1.1/24
        right=192.168.56.7
        rightsubnet=10.10.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

Ukratko opišite svaki od gore navedenih konfiguracijskih parametara:

  • postavljanje konfiguracije – definira opće informacije o konfiguraciji za IPSec koje se odnose na sve veze.
  • charondebug – određuje koliko izlaza debugiranja Charona treba biti zabilježeno.
  • uniqueids – definira treba li određeni ID sudionika biti jedinstven.
  • conn gateway1-to-gateway2 – koristi se za postavljanje naziva veze.
  • vrsta – definira vrstu veze.
  • Automatski – koristi se za deklariranje načina rukovanja vezom kada se IPSec pokrene ili ponovno pokrene.
  • razmjena ključeva – deklarira verziju IKE protokola za korištenje.
  • authby – određuje kako se ravnopravni korisnici međusobno autentificiraju.
  • lijevo – deklarira IP adresu sučelja javne mreže lijevog sudionika.
  • leftsubnet – deklarira privatnu podmrežu iza lijevog sudionika.
  • desno – deklarira IP adresu sučelja javne mreže pravog sudionika.
  • rightsubnet – deklarira privatnu podmrežu iza lijevog sudionika.
  • ike – koristi se za deklariranje popisa IKE/ISAKMP SA algoritama za šifriranje/provjeru autentičnosti koji će se koristiti. Imajte na umu da to može biti popis odvojen zarezom.
  • esp – navodi popis ESP algoritama za šifriranje/provjeru autentičnosti koji će se koristiti za vezu.
  • agresivno – određuje hoće li se koristiti agresivni ili glavni način rada.
  • keyingtries – deklarira broj pokušaja koje treba učiniti za pregovaranje veze.
  • ikelifetime – određuje koliko dugo kanal ključanja veze treba trajati prije ponovnog pregovaranja.
  • životni vijek – određuje koliko dugo određena instanca veze treba trajati, od uspješnog pregovora do isteka.
  • dpddelay – deklarira vremenski interval s kojim se R_U_THERE poruka/INFORMACIJSKIH razmjena šalju ravnopravnoj osobi.
  • dpdtimeout – koristi se za deklariranje intervala čekanja, nakon kojeg se brišu sve veze s peerom u slučaju neaktivnosti.
  • dpdaction – određuje kako koristiti protokol Dead Peer Detection (DPD) za upravljanje vezom.

Možete pronaći opis svih konfiguracijskih parametara za strongSwan IPsec podsustav čitanjem stranice priručnika ipsec.conf.

man ipsec.conf

Korak 4: Konfiguriranje PSK-a za peer-to-peer autentifikaciju

10. Zatim morate generirati jaki PSK koji će koristiti ravnopravni korisnici za autentifikaciju kako slijedi.

head -c 24 /dev/urandom | base64

11. Dodajte PSK u datoteku /etc/strongswan/ipsec.conf na oba sigurnosna pristupnika.

vi /etc/strongswan/ipsec.secrets

Unesite sljedeći redak u datoteku.

#Site 1 Gateway
192.168.56.7  192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

#Site 1 Gateway
192.168.56.6  192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

12. Zatim pokrenite uslugu strongsan i provjerite status veza.

systemctl restart strongswan
strongswan status

13. Testirajte možete li pristupiti privatnim podmrežama s bilo kojeg sigurnosnog pristupnika pokretanjem naredbe ping.

ping 10.20.1.1
ping 10.10.1.1

14. Posljednje, ali ne i najmanje važno, da naučite više strongswan naredbi za ručno postavljanje gore/dolje veza i više, pogledajte stranicu za pomoć strongswan.

strongswan --help

To je sve za sada! Da biste s nama podijelili svoje misli ili postavili pitanja, obratite nam se putem obrasca za povratne informacije u nastavku. Da biste saznali više o novom uslužnom programu swanctl i novoj fleksibilnijoj konfiguracijskoj strukturi, pogledajte korisničku dokumentaciju za strongSwan.