IPsec-pohjaisen VPN:n määrittäminen Strongswanin kanssa CentOS/RHEL 8:ssa


strongSwan on avoimen lähdekoodin, monikäyttöinen, moderni ja täydellinen IPsec-pohjainen VPN-ratkaisu Linuxille, joka tarjoaa täyden tuen Internet Key Exchange -palvelulle (sekä IKEv1 että IKEv2) luomaan tietoturvayhteyksiä (SA) kahden vertaisohjelman välille. Se on monipuolinen, modulaarinen ja tarjoaa kymmeniä laajennuksia, jotka parantavat ydintoimintoja.

Aiheeseen liittyvä artikkeli: IPsec-pohjaisen VPN:n määrittäminen Strongswanilla Debianissa ja Ubuntussa

Tässä artikkelissa opit määrittämään sivustojen välisiä IPsec VPN -yhdyskäytäviä strongSwanin avulla CentOS/RHEL 8 -palvelimilla. Näin vertaiskäyttäjät voivat todentaa toisensa käyttämällä vahvaa esijaettua avainta (PSK). Sivustolta toiselle -asetus tarkoittaa, että jokaisen suojausyhdyskäytävän takana on aliverkko.

Testausympäristö

Älä unohda käyttää todellisia IP-osoitteita konfiguroinnin aikana ja noudata ohjeita.

Sivuston 1 yhdyskäytävä
Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Sivuston 2 yhdyskäytävä
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

Vaihe 1: Ytimen IP-lähetyksen ottaminen käyttöön CentOS 8:ssa

1. Aloita ottamalla käyttöön ytimen IP-lähetystoiminto /etc/sysctl.conf-määritystiedostossa molemmissa VPN-yhdyskäytävissä.

vi /etc/sysctl.conf

Lisää nämä rivit tiedostoon.

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. Kun olet tallentanut muutokset tiedostoon, suorita seuraava komento ladataksesi uudet ytimen parametrit suorituksen aikana.

sysctl -p

3. Luo seuraavaksi pysyvä staattinen reitti tiedostoon /etc/sysconfig/network-scripts/route-eth0 molemmille suojausyhdyskäytäville.

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

Lisää tiedostoon seuraava rivi.

#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. Käynnistä sitten verkonhallinta uudelleen ottaaksesi käyttöön uudet muutokset.

systemctl restart NetworkManager

Vaihe 2: Asenna strongSwan CentOS 8:aan

5. strong>strong joutsen -paketti löytyy EPEL -varastosta. Asentaaksesi sen, sinun on otettava EPEL-varasto käyttöön ja asennettava sitten strongwan molempiin suojausyhdyskäytäviin.

dnf install epel-release
dnf install strongswan

6. Voit tarkistaa molempiin yhdyskäytäviin asennetun strongswan-version suorittamalla seuraavan komennon.

strongswan version

7. Käynnistä seuraavaksi strongswan-palvelu ja ota se käyttöön automaattisesti järjestelmän käynnistyksen yhteydessä. Tarkista sitten molempien turvayhdyskäytävien tila.

systemctl start strongswan 
systemctl enable strongswan
systemctl status strongswan

Huomaa: CentOS/REHL 8:n strongswan -sovelluksen uusin versio tukee molempia swanctl (uusi, kannettava komentoriviohjelma, joka esiteltiin strongSwan 5.2.0:n kanssa ja jota käytetään IKE-daemonin Charonin määrittämiseen, ohjaamiseen ja valvontaan vici-laajennuksella) ja käynnistin (tai ipsec) -apuohjelma, joka käyttää vanhentunutta vetolaajennusta.

8. Pääasetushakemisto on /etc/strongswan/, joka sisältää asetustiedostot molemmille laajennuksille:

ls /etc/strongswan/

Tässä oppaassa käytämme IPsec-apuohjelmaa, joka kutsutaan strongswan-komennolla ja viivan käyttöliittymällä. Käytämme siis seuraavia asetustiedostoja:

  • /etc/strongswan/ipsec.conf – strongSwan IPsec -alijärjestelmän määritystiedosto.
  • /etc/strongswan/ipsec.secrets – salaisuustiedosto.

Vaihe 3: Turvayhdyskäytävien määrittäminen

9. Tässä vaiheessa sinun on määritettävä yhteysprofiilit jokaiselle suojausyhdyskäytävälle jokaiselle sivustolle käyttämällä /etc/strongswan/ipsec.conf strongswan-määritystiedostoa.

Sivuston 1 yhteysprofiilin määrittäminen

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

Kopioi ja liitä tiedostoon seuraavat asetukset.

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

Sivuston 2 yhteysprofiilin määrittäminen

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

Kopioi ja liitä tiedostoon seuraavat asetukset:

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

Kuvataanpa lyhyesti jokaista yllä olevaa konfigurointiparametria:

  • määritysasetukset – määrittää IPSecin yleiset määritystiedot, jotka koskevat kaikkia yhteyksiä.
  • charondebug – määrittää, kuinka paljon Charon-virheenkorjaustulosta kirjataan.
  • yksilölliset tunnukset – määrittää, pitääkö tietty osallistujatunnus säilyttää yksilöllisenä.
  • yhdyskäytävä1-yhdyskäytävä2 – käytetään yhteyden nimen asettamiseen.
  • tyyppi – määrittää yhteystyypin.
  • Automaattinen – käytetään ilmoittamaan, kuinka yhteyttä käsitellään, kun IPSec käynnistetään tai käynnistetään uudelleen.
  • avaimenvaihto – ilmoittaa käytettävän IKE-protokollan version.
  • authby – määrittää, kuinka vertaiskäyttäjien tulee todentaa toisensa.
  • vasen – ilmoittaa vasemmanpuoleisen osallistujan julkisen verkkoliittymän IP-osoitteen.
  • leftsubnet – ilmoittaa yksityisen aliverkon vasemman osallistujan takana.
  • oikea – ilmoittaa oikean osallistujan julkisen verkkoliittymän IP-osoitteen.
  • rightsubnet – ilmoittaa vasemman osallistujan takana olevan yksityisen aliverkon.
  • ike – käytetään ilmoittamaan käytettävien IKE/ISAKMP SA -salaus-/todennusalgoritmien luettelo. Huomaa, että tämä voi olla pilkuilla eroteltu luettelo.
  • esp – määrittää luettelon ESP-salaus-/todennusalgoritmeista, joita käytetään yhteydessä.
  • aggressiivinen – ilmoittaa, käytetäänkö aggressiivista vai päätilaa.
  • näppäinkokeet – ilmoittaa yhteyden muodostamisyritysten lukumäärän.
  • ikelifetime – määrittää, kuinka kauan yhteyden avauskanavan tulee kestää ennen kuin se neuvotellaan uudelleen.
  • elinikä – määrittää, kuinka kauan tietyn yhteyden esiintymän tulee kestää onnistuneesta neuvottelusta päättymiseen.
  • dpddelay – ilmoittaa aikavälin, jonka kuluessa R_U_THERE viestit/TIEDOT lähetetään vertaiselle.
  • dpdtimeout – käytetään ilmoittamaan aikakatkaisuväli, jonka jälkeen kaikki yhteydet vertaisverkkoon poistetaan, jos niitä ei käytetä.
  • dpdaction – määrittää, kuinka Dead Peer Detection (DPD) -protokollaa käytetään yhteyden hallintaan.

Löydät kuvauksen kaikista strongSwan IPsec -alijärjestelmän määritysparametreista lukemalla ipsec.conf -man-sivun.

man ipsec.conf

Vaihe 4: PSK:n määrittäminen vertaistodennusta varten

10. Seuraavaksi sinun on luotava vahva PSK, jota kumppanit käyttävät todentamiseen seuraavasti.

head -c 24 /dev/urandom | base64

11. Lisää PSK molempien suojausyhdyskäytävien /etc/strongswan/ipsec.conf-tiedostoon.

vi /etc/strongswan/ipsec.secrets

Kirjoita tiedostoon seuraava rivi.

#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. Käynnistä sitten strongsan-palvelu ja tarkista yhteyksien tila.

systemctl restart strongswan
strongswan status

13. Testaa, voitko käyttää yksityisiä aliverkkoja jommastakummasta suojausyhdyskäytävästä suorittamalla ping-komennon.

ping 10.20.1.1
ping 10.10.1.1

14. Viimeisenä mutta ei vähäisimpänä, saadaksesi lisätietoja strong>strongswan-komennoista yhteyksien manuaaliseen avaamiseen/alasamiseen ja muuhun, katso strongswan-ohjesivu.

strongswan --help

Tässä kaikki tältä erää! Jos haluat jakaa ajatuksesi kanssamme tai esittää kysymyksiä, ota meihin yhteyttä alla olevan palautelomakkeen kautta. Ja saadaksesi lisätietoja uudesta swanctl-apuohjelmasta ja uudesta joustavammasta konfigurointirakenteesta, katso strongSwan User Documentation.