IPsec-pohjaisen VPN:n määrittäminen Strongswanilla Debianissa ja Ubuntussa
strongSwan on avoimen lähdekoodin, monialustainen, monipuolinen ja laajalti käytetty IPsec-pohjainen VPN (Virtual Private Network) -toteutus, joka toimii Linuxissa, FreeBSD:ssä, OS X:ssä, Windowsissa, Androidissa ja iOS:ssä. Se on ensisijaisesti avaimenperä, joka tukee Internet Key Exchange -protokollia (IKEv1 ja IKEv2) tietoturvayhteyksien (SA) muodostamiseksi. vahva>) kahden vertaisen välillä.
Tässä artikkelissa kuvataan, kuinka sivustojen väliset IPSec VPN -yhdyskäytävät määritetään strongSwanin avulla Ubuntu- ja Debian-palvelimissa. . Sivustolta toiselle tarkoitamme, että jokaisen turvayhdyskäytävän takana on aliverkko. Lisäksi kumppanit todentavat toisensa käyttämällä esijaettua avainta (PSK).
Testausympäristö
Muista korvata seuraavat IP-osoitteet todellisilla IP-osoitteillasi ympäristön määrittämiseksi.
Sivuston 1 yhdyskäytävä (tecmint-devgateway)
OS 1: Debian or Ubuntu
Public IP: 10.20.20.1
Private IP: 192.168.0.101/24
Private Subnet: 192.168.0.0/24
Sivuston 2 yhdyskäytävä (tecmint-prodgateway)
OS 2: Debian or Ubuntu
Public IP: 10.20.20.3
Private IP: 10.0.2.15/24
Private Subnet: 10.0.2.0/24
Vaihe 1: Ota ytimen pakettien edelleenlähetys käyttöön
1. Ensin sinun on määritettävä ydin ottamaan pakettien edelleenlähetys käyttöön lisäämällä asianmukaiset järjestelmämuuttujat /etc/sysctl.conf-määritystiedostoon molemmissa suojausyhdyskäytävissä.
sudo vim /etc/sysctl.conf
Etsi seuraavat rivit ja poista kommentit ja aseta niiden arvot kuvan osoittamalla tavalla (lue lisätietoja tiedoston kommenteista).
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. Lataa seuraavaksi uudet asetukset suorittamalla seuraava komento.
sudo sysctl -p
3. Jos käytössäsi on UFW-palomuuripalvelu, sinun on lisättävä seuraavat säännöt /etc/ufw/before.rules-määritystiedostoon juuri ennen suodatinsääntöjä kohteessa joko turvayhdyskäytäviä.
Sivuston 1 yhdyskäytävä (tecmint-devgateway)
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE
COMMIT
Sivuston 2 yhdyskäytävä (tecmint-prodgateway)
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.0.0/24 -d 10.0.2.0/24 -j MASQUERADE
COMMIT
4. Kun palomuurisäännöt on lisätty, ota uudet muutokset käyttöön käynnistämällä UFW uudelleen kuvan mukaisesti.
sudo ufw disable
sudo ufw enable
Vaihe 2: Asenna strongSwan Debianiin ja Ubuntuun
5. Päivitä pakettivälimuisti molemmissa suojausyhdyskäytävissä ja asenna strongswan-paketti APT-paketinhallinnan avulla.
sudo apt update
sudo apt install strongswan
6. Kun asennus on valmis, asennusohjelma käynnistää strongswan-palvelun ja mahdollistaa sen käynnistymisen automaattisesti järjestelmän käynnistyksen yhteydessä. Voit tarkistaa sen tilan ja onko se käytössä seuraavalla komennolla.
sudo systemctl status strongswan.service
sudo systemctl is-enabled strongswan.service
Vaihe 3: Turvayhdyskäytävien määrittäminen
7. Seuraavaksi sinun on määritettävä suojausyhdyskäytävät /etc/ipsec.conf-määritystiedoston avulla.
Sivuston 1 yhdyskäytävä (tecmint-devgateway)
sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
sudo nano /etc/ipsec.conf
Kopioi ja liitä tiedostoon seuraavat asetukset.
config setup
charondebug="all"
uniqueids=yes
conn devgateway-to-prodgateway
type=tunnel
auto=start
keyexchange=ikev2
authby=secret
left=10.20.20.1
leftsubnet=192.168.0.101/24
right=10.20.20.3
rightsubnet=10.0.2.15/24
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
aggressive=no
keyingtries=%forever
ikelifetime=28800s
lifetime=3600s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart
Sivuston 2 yhdyskäytävä (tecmint-prodgateway)
sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
sudo nano /etc/ipsec.conf
Kopioi ja liitä seuraavat asetukset tiedostoon.
config setup
charondebug="all"
uniqueids=yes
conn prodgateway-to-devgateway
type=tunnel
auto=start
keyexchange=ikev2
authby=secret
left=10.20.20.3
leftsubnet=10.0.2.15/24
right=10.20.20.1
rightsubnet=192.168.0.101/24
ike=aes256-sha1-modp1024!
esp=aes256-sha1!
aggressive=no
keyingtries=%forever
ikelifetime=28800s
lifetime=3600s
dpddelay=30s
dpdtimeout=120s
dpdaction=restart
Tässä on kunkin konfigurointiparametrin merkitys:
- config setup – 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ä.
- conn prodgateway-to-devgateway – määrittää yhteyden nimen.
- tyyppi – määrittää yhteystyypin.
- automaattinen – yhteyden käsittely, kun IPSec käynnistetään tai käynnistetään uudelleen.
- avaimenvaihto – määrittää käytettävän IKE-protokollan version.
- authby – määrittää, kuinka vertaiskäyttäjien tulee todentaa toisensa.
- vasen – määrittää vasemmanpuoleisen osallistujan julkisen verkkoliittymän IP-osoitteen.
- vasen aliverkko – ilmaisee yksityisen aliverkon vasemman osallistujan takana.
- oikea – määrittää oikean osallistujan julkisen verkkoliittymän IP-osoitteen.
- rightsubnet – ilmaisee yksityisen aliverkon vasemman osallistujan takana.
- ike – määrittää luettelon käytettävistä IKE/ISAKMP SA:n salaus-/todennusalgoritmeista. Voit lisätä pilkuilla erotetun luettelon.
- esp – määrittää luettelon ESP-salaus-/todennusalgoritmeista, joita käytetään yhteydessä. Voit lisätä pilkuilla erotetun luettelon.
- aggressiivinen – määrittää, käytetäänkö aggressiivista vai päätilaa.
- näppäinyritykset – ilmoittaa, kuinka monta yritystä yhteyden muodostamiseksi tulee tehdä.
- ikelifetime – ilmaisee, 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 – määrittää aikavälin, jonka kuluessa R_U_THERE viestit/TIEDOT lähetetään vertaiselle.
- dpdtimeout – määrittää aikakatkaisuvälin, 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.
Lisätietoja yllä olevista määritysparametreista on ipsec.conf -manuaalisivulla suorittamalla komento.
man ipsec.conf
Vaihe 4: PSK:n määrittäminen vertaistodennusta varten
8. Kun olet määrittänyt molemmat suojausyhdyskäytävät, luo suojattu PSK, jota kumppanit käyttävät seuraavalla komennolla.
head -c 24 /dev/urandom | base64
9. Lisää seuraavaksi PSK molempien yhdyskäytävien /etc/ipsec.secrets-tiedostoon.
sudo vim /etc/ipsec.secrets
Kopioi ja liitä seuraava rivi.
------- Site 1 Gateway (tecmint-devgateway) -------
10.20.20.1 10.20.20.3 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
------- Site 2 Gateway (tecmint-prodgateway) -------
10.20.20.3 10.20.20.1 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
10. Käynnistä IPSec-ohjelma uudelleen ja tarkista sen tila nähdäksesi yhteydet.
sudo ipsec restart
sudo ipsec status
11. Varmista lopuksi, että voit käyttää yksityisiä aliverkkoja kummasta tahansa suojausyhdyskäytävästä suorittamalla ping-komennon.
ping 192.168.0.101
ping 10.0.2.15
12. Lisäksi voit pysäyttää ja käynnistää IPSecin kuvan osoittamalla tavalla.
sudo ipsec stop
sudo ipsec start
13. Jos haluat lisätietoja IPSec-komennoista, joilla yhteydet avautuvat manuaalisesti, katso IPSec-ohjesivu.
ipsec --help
Siinä kaikki! Tässä artikkelissa olemme kuvanneet, kuinka sivustojen välinen IPSec VPN määritetään strongSwanin avulla Ubuntu- ja Debian-palvelimilla, joissa molemmat suojausyhdyskäytävät määritettiin todentamaan toisensa PSK:n avulla. Jos sinulla on kysyttävää tai jaettava ajatuksia, ota meihin yhteyttä alla olevan palautelomakkeen kautta.