Kako nastaviti omrežje VPN na osnovi IPsec s storitvijo Strongswan na CentOS/RHEL 8


strongSwan je odprtokodna, večplastna, sodobna in celovita rešitev VPN na osnovi IPsec za Linux, ki nudi popolno podporo za izmenjavo internetnih ključev (tako IKEv1 kot IKEv2) za vzpostavitev varnostnih združenj (SA) med dvema enakovrednima stranicama. Je popolnoma opremljen, modularno zasnovan in ponuja na desetine vtičnikov, ki izboljšajo osnovno funkcionalnost.

Povezani članek: Kako nastaviti VPN na osnovi IPsec s storitvijo Strongswan v Debianu in Ubuntuju

V tem članku boste izvedeli, kako nastaviti IPsec VPN prehode od mesta do mesta z uporabo strongSwan na strežnikih CentOS/RHEL 8. To omogoča vrstnikom, da se med seboj overjajo z močnim ključem v skupni rabi (PSK). Nastavitev od mesta do mesta pomeni, da ima vsak varnostni prehod za seboj podmrežo.

Med konfiguracijami ne pozabite uporabiti svojih resničnih naslovov IP, medtem ko sledite navodilom.

Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

1. korak: Omogočanje posredovanja jedra IP v CentOS 8

1. Najprej omogočite funkcijo posredovanja IP jedra v konfiguracijski datoteki /etc/sysctl.conf na obeh prehodih VPN.

# vi /etc/sysctl.conf

Dodajte te vrstice v datoteko.

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. Ko shranite spremembe v datoteki, zaženite naslednji ukaz, da v času izvajanja naložite nove parametre jedra.

# sysctl -p

3. Nato v datoteki/etc/sysconfig/network-scripts/route-eth0 na obeh varnostnih prehodih ustvarite trajno statično pot.

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

V datoteko dodajte naslednjo vrstico.

#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. Nato znova zaženite upravitelja omrežja, da bo uporabil nove spremembe.

# systemctl restart NetworkManager

2. korak: Namestitev strongSwan v CentOS 8

5. Paket strongswan je na voljo v repozitoriju EPEL. Če ga želite namestiti, morate omogočiti repozitorij EPEL, nato pa na oba varnostna prehoda namestiti strongwan.

# dnf install epel-release
# dnf install strongswan

6. Če želite preveriti različico strongswan, nameščeno na obeh prehodih, zaženite naslednji ukaz.

# strongswan version

7. Nato zaženite storitev strongswan in omogočite, da se samodejno zažene ob zagonu sistema. Nato preverite stanje na obeh varnostnih prehodih.

# systemctl start strongswan 
# systemctl enable strongswan
# systemctl status strongswan

Opomba: Najnovejša različica strongswana v CentOS/REHL 8 ima podporo za oba swanctl (novo prenosno orodje ukazne vrstice, predstavljeno z strongSwan 5.2.0, ki se uporablja za konfiguriranje, nadzor in nadzor demona IKE Charon z vtičnikom vici) in zaganjalnik (ali ipsec) s pomočjo zastarelega vtičnika za potezo.

8. Glavni konfiguracijski imenik je/etc/strongswan /, ki vsebuje konfiguracijske datoteke za oba vtičnika:

# ls /etc/strongswan/

V tem priročniku bomo uporabili pripomoček IPsec, ki ga prikličete z ukazom strongswan in vmesnikom poteze. Zato bomo uporabili naslednje konfiguracijske datoteke:

  • /etc/strongswan/ipsec.conf - konfiguracijska datoteka za podsistem strongSwan IPsec.
  • /etc/strongswan/ipsec.secrets - datoteka s skrivnostmi.

3. korak: Konfiguriranje varnostnih prehodov

9. V tem koraku morate s pomočjo konfiguracijske datoteke /etc/strongswan/ipsec.conf strongswan konfigurirati profile povezav na vsakem varnostnem prehodu za vsako spletno mesto.

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

Kopirajte in prilepite naslednjo konfiguracijo v datoteko.

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
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

Kopirajte in prilepite naslednjo konfiguracijo v datoteko:

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

Na kratko opišimo vsakega od zgornjih konfiguracijskih parametrov:

  • nastavitev konfiguracije - določa splošne informacije o konfiguraciji za IPSec, ki veljajo za vse povezave.
  • charondebug - določa, koliko izhodnih podatkov za odpravljanje napak Charona mora biti zabeleženih.
  • uniqueids - določa, ali naj določen ID udeleženca ostane edinstven.
  • conn gateway1-to-gateway2 - uporablja se za nastavitev imena povezave.
  • vrsta - določa vrsto povezave.
  • Samodejno - uporablja se za izjavo o ravnanju s povezavo ob zagonu ali ponovnem zagonu IPSec.
  • keyexchange - razglasi različico protokola IKE za uporabo.
  • authby - določa, kako naj se vrstniki preverjajo pristnost drug drugega.
  • levo - navede naslov IP vmesnika javnega omrežja levega udeleženca.
  • leftsubnet - razglasi zasebno podomrežje za levim udeležencem.
  • desno - navede naslov IP vmesnika javnega omrežja desnega udeleženca.
  • rightsubnet - razglasi zasebno podomrežje za levim udeležencem.
  • ike - uporablja se za razglasitev seznama IKE/ISAKMP SA algoritmov za šifriranje/preverjanje pristnosti, ki bodo uporabljeni. Upoštevajte, da je to lahko seznam, ločen z vejicami.
  • esp - določa seznam algoritmov za šifriranje/preverjanje pristnosti ESP, ki bodo uporabljeni za povezavo.
  • agresiven - določa, ali naj se uporabi agresivni ali glavni način.
  • keyingtries - navaja število poskusov pogajanj o povezavi.
  • ikelifetime - določa, kako dolgo naj traja kanal za vnos povezave pred ponovnimi pogajanji.
  • življenjska doba - določa, kako dolgo naj traja določen primerek povezave, od uspešnega pogajanja do izteka.
  • dpddelay - določa časovni interval, s katerim so sporočila R_U_THERE/INFORMACIJSKE izmenjave poslana enakovredni osebi.
  • dpdtimeout - uporablja se za navedbo intervala časovne omejitve, po katerem se v primeru nedejavnosti izbrišejo vse povezave z enakovrednim računalnikom.
  • dpdaction - določa, kako uporabljati protokol za odkrivanje mrtvih (DPD) za upravljanje povezave.

Opis vseh konfiguracijskih parametrov za podsistem strongSwan IPsec najdete tako, da preberete man stran ipsec.conf.

# man ipsec.conf

4. korak: Konfiguriranje PSK za avtentifikacijo peer-to-peer

10. Nato morate ustvariti močan PSK, ki ga bodo vrstniki uporabljali za preverjanje pristnosti, kot sledi.

# head -c 24 /dev/urandom | base64

11. Dodajte PSK v datoteko /etc/strongswan/ipsec.conf na obeh varnostnih prehodih.

# vi /etc/strongswan/ipsec.secrets

V datoteko vnesite naslednjo vrstico.

#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. Nato zaženite storitev strongsan in preverite stanje povezav.

# systemctl restart strongswan
# strongswan status

13. Preverite, ali lahko do obeh varnostnih prehodov dostopate do zasebnih podomrežij z zagonom ukaza ping.

# ping 10.20.1.1
# ping 10.10.1.1

14. Nenazadnje, če želite izvedeti več ukazov strongswan za ročno vzpostavljanje gor/dol povezav in še več, glejte stran s pomočjo za strongswan.

# strongswan --help

To je vse za zdaj! Če želite z nami deliti svoje misli ali postavljati vprašanja, nas pokličite prek spodnjega obrazca za povratne informacije. Če želite izvedeti več o novem pripomočku swanctl in novi prilagodljivejši konfiguracijski strukturi, glejte uporabniško dokumentacijo strongSwan.