Kuidas seadistada IPOS-põhine VPN koos Strongswaniga teenuses CentOS/RHEL 8


strongSwan on avatud lähtekoodiga, mitme platvormiga kaasaegne ja terviklik IPsec-põhine VPN-lahendus Linuxile, mis pakub Interneti-võtmevahetusele (nii IKEv1 kui ka IKEv2) täielikku tuge, et luua kahe eakaaslase vahel turvaühendused (SA). See on täisfunktsionaalne, disainilt modulaarne ja pakub kümneid pistikprogramme, mis parandavad põhifunktsionaalsust.

Seotud artikkel: IPsec-põhise VPN-i seadistamine koos Strongswaniga Debianis ja Ubuntus

Sellest artiklist saate teada, kuidas seadistada saidilt saidile IPsec VPN-i lüüse, kasutades tugeva Swan abil CentOS/RHEL 8 servereid. See võimaldab eakaaslastel üksteist tugeva eeljagatud võtme (PSK) abil autentida. Saitidevaheline seadistamine tähendab, et igal turvaväraval on taga alamvõrk.

Ärge unustage juhendit järgides konfigureerimisel kasutada oma reaalseid IP-aadresse.

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. samm: kerneli IP-edastuse lubamine CentOS 8-s

1. Alustage mõlema VPN-i lüüsi kerneli IP-edastuse funktsionaalsuse lubamisega /etc/sysctl.conf konfiguratsioonifailis.

# vi /etc/sysctl.conf

Lisage need read faili.

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. Pärast muudatuste salvestamist faili käivitage järgmine käsk, et laadida uued kerneli parameetrid käitusajas.

# sysctl -p

3. Järgmisena looge mõlema turvavärava failis/etc/sysconfig/network-scripts/route-eth0 püsiv staatiline marsruut.

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

Lisage faili järgmine rida.

#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. Seejärel taaskäivitage võrguhaldur uute muudatuste rakendamiseks.

# systemctl restart NetworkManager

2. samm: tugeva Swan installimine CentOS 8-sse

5. Pakett strongswan on saadaval EPEL-i hoidlas. Selle installimiseks peate lubama EPEL-i hoidla ja seejärel installima mõlemale turvaväravale tugiseadme.

# dnf install epel-release
# dnf install strongswan

6. Mõlemale lüüsile installitud strongswani versiooni kontrollimiseks käivitage järgmine käsk.

# strongswan version

7. Järgmisena käivitage teenus strongswan ja lubage sellel automaatselt käivituda süsteemi käivitamisel. Seejärel kontrollige mõlema turvavärava olekut.

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

Märkus: CentOS/REHL 8 tugeva swani uusim versioon on varustatud mõlema swanctl-iga (uus kaasaskantav käsurea utiliit, mis on juurutatud koos strongSwan 5.2.0-ga, mida kasutatakse IKE deemon Charoni konfigureerimiseks, juhtimiseks ja jälgimiseks vici pistikprogrammi abil) ja starteri (või ipsec) utiliit, kasutades aegunud insuldipluginat.

8. Põhiline konfiguratsioonikataloog on/etc/strongswan /, mis sisaldab mõlema pistikprogrammi konfiguratsioonifaile:

# ls /etc/strongswan/

Selle juhendi jaoks kasutame IPseci utiliiti, mille käivitamiseks kasutatakse käsku strongswan ja insuldiliidest. Seega kasutame järgmisi konfiguratsioonifaile:

  • /etc/strongswan/ipsec.conf - konfiguratsioonifail allsüsteemi strongSwan IPsec jaoks.
  • /etc/strongswan/ipsec.secrets - saladuste fail.

3. samm: turvaväravate konfigureerimine

9. Selles etapis peate konfigureerima iga saidi turvaväravate ühenduse profiilid /etc/strongswan/ipsec.conf strongswani konfiguratsioonifaili abil.

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

Kopeerige ja kleepige faili järgmine konfiguratsioon.

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

Kopeerige ja kleepige faili järgmine konfiguratsioon:

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

Kirjeldame lühidalt kõiki ülaltoodud konfiguratsiooniparameetreid.

  • konfigureerimise seadistamine - määratleb IPSeci üldise konfiguratsiooniteabe, mis kehtib kõigi ühenduste kohta.
  • charondebug - määrab, kui palju Charoni silumisväljundit tuleks logida.
  • unikaalsed identifikaatorid - määratleb, kas konkreetne osaleja ID peaks jääma unikaalseks.
  • conn gateway1-to gateway2 - kasutatakse ühenduse nime määramiseks.
  • tüüp - määratleb ühenduse tüübi.
  • Automaatne - kasutatakse ühenduse loomiseks deklareerimiseks, kui IPSec käivitatakse või taaskäivitatakse.
  • võtmevahetus - deklareerib kasutatava IKE-protokolli versiooni.
  • authby - määrab, kuidas eakaaslased peaksid üksteist autentima.
  • vasak - deklareerib vasakpoolse osaleja avaliku võrgu liidese IP-aadressi.
  • leftsubnet - deklareerib vasakpoolse osaleja taga oleva privaatse alamvõrgu.
  • õige - deklareerib õige osaleja avaliku võrgu liidese IP-aadressi.
  • õiguste alamvõrk - deklareerib vasakpoolse osaleja taga oleva privaatse alamvõrgu.
  • ike - kasutatakse kasutatavate IKE/ISAKMP SA krüpteerimise/autentimise algoritmide loendi deklareerimiseks. Pange tähele, et see võib olla komadega eraldatud loend.
  • esp - määrab ühenduse jaoks kasutatavate ESP krüptimis-/autentimisalgoritmide loendi.
  • agressiivne - deklareerib, kas kasutada agressiivset või põhirežiimi.
  • võtmeproovid - deklareerib proovide arvu, mida tuleks teha ühenduse pidamiseks.
  • ikelifetime - määrab, kui kaua ühenduse võtmekanal peaks kestma enne uuesti läbirääkimisi.
  • eluiga - määrab, kui kaua konkreetne ühenduse eksemplar peaks kestma, edukatest läbirääkimistest kuni aegumiseni.
  • dpddelay - deklareerib ajaintervalli, millega R_U_THERE sõnumeid/INFORMATSIOONIVAHETUSID saadetakse eakaaslasele.
  • dpdtimeout - kasutatakse deaktiveerimise intervalli deklareerimiseks, misjärel passiivsuse korral kustutatakse kõik ühendused eakaaslasega.
  • dpdaction - täpsustab, kuidas kasutada ühenduse haldamiseks Dead Peer Detection (DPD) protokolli.

Kõigi strongSwani IPsec-alamsüsteemi konfiguratsiooniparameetrite kirjelduse leiate ipsec.confi käsulehelt.

# man ipsec.conf

4. samm: PSK konfigureerimine võrdõigusliku autentimise jaoks

10. Järgmisena peate looma tugeva PSK, mida eakaaslased kasutavad autentimiseks järgmiselt.

# head -c 24 /dev/urandom | base64

11. Lisage PSK mõlema turvavärava faili /etc/strongswan/ipsec.conf.

# vi /etc/strongswan/ipsec.secrets

Sisestage faili järgmine rida.

#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. Seejärel käivitage tugiteenus ja kontrollige ühenduste olekut.

# systemctl restart strongswan
# strongswan status

13. Testige, kas pääsete privaatsetele alamvõrkudele mõlemast turvaväravast, käivitades ping-käsu.

# ping 10.20.1.1
# ping 10.10.1.1

14. Viimaseks, kuid mitte vähem tähtsaks, lisateabe saamiseks tugiseadme käskude kohta, et ühendusi käsitsi üles/alla tuua ja muud, vaadake tugiteenuste abilehte.

# strongswan --help

Praeguseks kõik! Oma mõtete jagamiseks meiega või küsimuste esitamiseks võtke meiega ühendust alloleva tagasisidevormi kaudu. Uue swanctl utiliidi ja uue paindlikuma konfiguratsioonistruktuuri kohta lisateabe saamiseks vaadake strongSwani kasutaja dokumentatsiooni.