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.