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.