Kako postaviti VPN baziran na IPsec-u sa Strongswan-om na CentOS/RHEL 8
strongSwan je open-source, multi-platformsko, moderno i potpuno IPsec-bazirano 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 računala. Potpuno je opremljen, modularan po dizajnu i nudi desetke dodataka koji poboljšavaju osnovnu funkcionalnost.
Povezani članak: Kako postaviti VPN baziran na IPsec-u sa Strongswan-om na Debian-u i Ubuntu-u
U ovom članku ćete naučiti kako postaviti IPsec VPN gateway od lokacije do lokacije koristeći strongSwan na CentOS/RHEL 8 serverima. Ovo omogućava vršnjacima da autentifikuju jedni druge pomoću jakog prethodno dijeljenog ključa (PSK). Podešavanje od lokacije do lokacije znači da svaki sigurnosni gateway ima podmrežu iza sebe.
Testing Environment
Ne zaboravite da koristite svoje IP adrese u stvarnom svijetu tokom konfiguracija dok pratite 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 Kernel IP Forwarding u CentOS 8
1. Počnite tako što ćete omogućiti funkciju prosljeđivanja IP adrese kernela u konfiguracijskoj datoteci /etc/sysctl.conf na oba VPN gatewaya.
vi /etc/sysctl.conf
Dodajte ove redove u fajl.
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 što sačuvate promjene u datoteci, pokrenite sljedeću naredbu da učitate nove parametre kernela u vremenu izvođenja.
sysctl -p
3. Zatim kreirajte trajnu statičku rutu u datoteci /etc/sysconfig/network-scripts/route-eth0 na oba sigurnosna gatewaya.
vi /etc/sysconfig/network-scripts/route-eth0
Dodajte sljedeći red 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 ponovo pokrenite upravitelj mreže da primijenite nove promjene.
systemctl restart NetworkManager
Korak 2: Instaliranje strongSwan u CentOS 8
5. Paket strongswan se nalazi u EPEL spremištu. Da biste ga instalirali, morate omogućiti EPEL spremište, a zatim instalirati strongwan na oba sigurnosna gateway-a.
dnf install epel-release
dnf install strongswan
6. Da provjerite verziju strongswan instalirane na oba gatewaya, pokrenite sljedeću naredbu.
strongswan version
7. Zatim pokrenite uslugu strongswan i omogućite joj da se automatski pokreće pri pokretanju sistema. Zatim provjerite status na oba sigurnosna gateway-a.
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, prenosivi uslužni program komandne linije predstavljen sa strongSwan 5.2.0, koji se koristi za konfiguriranje, kontrolu i nadgledanje IKE demona Charon pomoću dodatka vici) i starter (ili ipsec) uslužni program koji koristi zastarjeli dodatak za stroke.
8. Glavni direktorij konfiguracije je /etc/strongswan/ koji sadrži konfiguracijske datoteke za oba dodatka:
ls /etc/strongswan/
Za ovaj vodič koristit ćemo IPsec uslužni program koji se poziva pomoću naredbe strong>strong>strong> i interfejsa za udarce. Stoga ćemo koristiti sljedeće konfiguracijske datoteke:
- /etc/strongswan/ipsec.conf – konfiguraciona datoteka za podsistem strongSwan IPsec.
- /etc/strongswan/ipsec.secrets – tajni fajl.
Korak 3: Konfiguriranje sigurnosnih prolaza
9. U ovom koraku, trebate konfigurirati profile povezivanja na svakom sigurnosnom gatewayu za svaku lokaciju koristeći /etc/strongswan/ipsec.conf konfiguracijski fajl strongswan.
Konfiguriranje profila veze na lokaciji 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 na lokaciji 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
Hajde da ukratko opišemo svaki od gore navedenih parametara konfiguracije:
- podešavanje konfiguracije – definira opće informacije o konfiguraciji za IPSec koje se odnose na sve veze.
- charondebug – određuje koliko Charon izlaza za otklanjanje grešaka treba zabilježiti.
- uniqueids – definira da li određeni ID učesnika treba ostati jedinstven.
- conn gateway1-to-gateway2 – koristi se za postavljanje naziva veze.
- tip – definira tip veze.
- Auto – koristi se za deklarisanje načina rukovanja vezom kada se IPSec pokrene ili ponovo pokrene.
- razmjena ključeva – deklarira verziju IKE protokola za korištenje.
- authby – specificira kako vršnjaci trebaju međusobno autentifikovati.
- lijevo – deklarira IP adresu javnog mrežnog interfejsa lijevog učesnika.
- lijeva podmreža – deklarira privatnu podmrežu iza lijevog učesnika.
- desno – deklarira IP adresu javnog mrežnog interfejsa pravog učesnika.
- rightsubnet – deklarira privatnu podmrežu iza lijevog učesnika.
- ike – koristi se za deklarisanje liste IKE/ISAKMP SA algoritama šifriranja/autentifikacije koji će se koristiti. Imajte na umu da ovo može biti lista odvojena zarezima.
- esp – specificira listu ESP algoritama šifriranja/autentifikacije koji će se koristiti za vezu.
- agresivan – izjavljuje da li će se koristiti agresivni ili glavni način rada.
- keyingtries – deklarira broj pokušaja koji treba učiniti da bi se dogovorila veza.
- ikelifetime – specificira koliko dugo kanal ključanja veze treba da traje prije nego što se ponovo pregovara.
- životni vijek – određuje koliko dugo određena instanca veze treba da traje, od uspješnog pregovaranja do isteka.
- dpddelay – deklarira vremenski interval u kojem se R_U_THERE poruke/INFORMACIONE razmjene šalju ravnopravnom uređaju.
- dpdtimeout – koristi se za deklarisanje intervala vremenskog ograničenja, nakon kojeg se sve konekcije sa ravnopravnom osobom brišu u slučaju neaktivnosti.
- dpdaction – specificira kako koristiti Dead Peer Detection (DPD) protokol za upravljanje vezom.
Možete pronaći opis svih konfiguracijskih parametara za strongSwan IPsec podsistem čitajući ipsec.conf man stranicu.
man ipsec.conf
Korak 4: Konfiguriranje PSK-a za Peer-to-Peer autentifikaciju
10. Zatim morate generirati jak PSK koji će koristiti peer za autentifikaciju kako slijedi.
head -c 24 /dev/urandom | base64
11. Dodajte PSK u datoteku /etc/strongswan/ipsec.conf na oba sigurnosna gatewaya.
vi /etc/strongswan/ipsec.secrets
Unesite sljedeći red 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 strongsan uslugu i provjerite status veza.
systemctl restart strongswan
strongswan status
13. Testirajte da li možete pristupiti privatnim podmrežama sa bilo kojeg sigurnosnog gatewaya pokretanjem komande ping.
ping 10.20.1.1
ping 10.10.1.1
14. Na kraju, ali ne i najmanje važno, da naučite više strongswan komandi za ručno podizanje/spuštanje veza i više, pogledajte stranicu za pomoć za strongswan.
strongswan --help
To je sve za sada! Da biste podijelili svoje mišljenje s nama ili postavili pitanja, kontaktirajte nas putem obrasca za povratne informacije u nastavku. A da biste saznali više o novom uslužnom programu swanctl i novoj fleksibilnijoj strukturi konfiguracije, pogledajte StrongSwan korisničku dokumentaciju.