Kuidas seadistada IPsec-põhine VPN koos Strongswaniga Debianis ja Ubuntus


strongSwan on avatud lähtekoodiga, platvormidevaheline, kõigi funktsioonidega ja laialt kasutatav IPsec-põhine VPN (Virtual Private Network) juurutus, mis töötab Linuxis, FreeBSD-s, OS X-is, Windowsis, Androidis ja iOS-is. See on peamiselt võtmehoidla, mis toetab Interneti-võtmevahetuse protokolle (IKEv1 ja IKEv2) kahe eakaaslase vahel turvaühenduste (SA) loomiseks.

Selles artiklis kirjeldatakse, kuidas seadistada saidilt saidile IPSec VPN-i lüüse, kasutades tugeva Swaniga Ubuntu ja Debiani servereid. Saidilt saidile mõtleme iga turvavärava taga olevat alamvõrku. Pealegi autentivad eakaaslased üksteist eeljagatud võtme (PSK) abil.

Keskkonna konfigureerimiseks peate kindlasti asendama järgmised IP-d oma reaalse IP-dega.

Saidi 1 värav (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

Saidi 2 värav (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

1. samm: tuuma pakettide edastamise lubamine

1. Kõigepealt peate seadistama kerneli pakettide edastamise lubamiseks, lisades /etc/sysctl.conf konfiguratsioonifaili mõlemas turvaväravas sobivad süsteemimuutujad.

$ sudo vim /etc/sysctl.conf

Otsige üles järgmised read ja kommenteerige neid ning määrake nende väärtused nagu näidatud (lisateabe saamiseks lugege faili kommentaare).

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. Seejärel laadige uued sätted järgmise käsu abil.

$ sudo sysctl -p

3. Kui teil on lubatud UFW tulemüüriteenus, peate /etc/ufw/before.rules konfiguratsioonifaili lisama järgmised reeglid vahetult enne filtrireegleid mõlemas turvaväravas.

Saidi 1 värav (tecmint-devgateway)

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.2.0/24  -d 192.168.0.0/24 -j MASQUERADE
COMMIT

Saidi 2 värav (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. Kui tulemüüri reeglid on lisatud, rakendage uued muudatused, taaskäivitades UFW, nagu näidatud.

$ sudo ufw disable 
$ sudo ufw enable

2. samm: installige strongSwan Debiani ja Ubuntu

5. Uuendage oma paketivahemälu mõlemas turvaväravas ja installige tugipaketi pakett APT-paketi halduri abil.

$ sudo apt update
$ sudo apt install strongswan 

6. Kui installimine on lõpule jõudnud, käivitab installiprogramm tugiteenuste tugiteenused ja võimaldab neil automaatselt süsteemi käivitamisel käivitada. Selle olekut ja selle lubamist saate kontrollida järgmise käsuga.

$ sudo systemctl status strongswan.service
$ sudo systemctl is-enabled strongswan.service

3. samm: turvaväravate konfigureerimine

7. Järgmisena peate konfigureerima turvaväravad /etc/ipsec.conf konfiguratsioonifaili abil.

Saidi 1 värav (tecmint-devgateway)

$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
$ sudo nano /etc/ipsec.conf 

Kopeerige ja kleepige faili järgmine konfiguratsioon.

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

Saidi 2 värav (tecmint-prodgateway)

$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig
$ sudo cp /etc/ipsec.conf 

Kopeerige ja kleepige faili järgmine konfiguratsioon.

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

Siin on iga konfiguratsiooniparameetri tähendus:

  • konfigureerimise häälestus - määrab IPSeci üldise konfiguratsiooniteabe, mis kehtib kõigi ühenduste kohta.
  • charondebug - määrab, kui palju Charoni silumisväljundit tuleks logida.
  • unikaalsed identifikaatorid - määrab, kas konkreetne osaleja ID peaks jääma unikaalseks.
  • conn prodgateway-to-devgateway - määratleb ühenduse nime.
  • tüüp - määratleb ühenduse tüübi.
  • automaatne - kuidas toimida ühenduse loomisel, kui IPSec käivitatakse või taaskäivitatakse.
  • võtmevahetus - määratleb kasutatava IKE-protokolli versiooni.
  • authby - määratleb, kuidas eakaaslased peaksid üksteist autentima.
  • vasak - määratleb vasakpoolse osaleja avaliku võrgu liidese IP-aadressi.
  • leftsubnet - märgib vasakpoolse osaleja taga oleva privaatse alamvõrgu.
  • õige - määrab õige osaleja avaliku võrgu liidese IP-aadressi.
  • õiguste alamvõrk - märgib vasakpoolse osaleja taga oleva privaatse alamvõrgu.
  • ike - määratleb kasutatavate IKE/ISAKMP SA krüpteerimise/autentimise algoritmide loendi. Saate lisada komadega eraldatud loendi.
  • esp - määratleb ühenduse jaoks kasutatavate ESP krüpteerimise/autentimise algoritmide loendi. Saate lisada komadega eraldatud loendi.
  • agressiivne - märgib, kas kasutada agressiivset või põhirežiimi.
  • võtmeproovid - esitab ühenduse proovimiseks vajalike katsete arvu.
  • 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 - määrab ajavahemiku, millega R_U_THERE sõnumeid/INFORMATSIOONIVAHETUSID saadetakse eakaaslasele.
  • dpdtimeout - määrab ajalõpu intervalli, mille järel kõik sidemed eakaaslasega mitteaktiivsuse korral kustutatakse.
  • dpdaction - määratleb, kuidas kasutada ühenduse haldamiseks Dead Peer Detection (DPD) protokolli.

Ülaltoodud konfiguratsiooniparameetrite kohta lisateabe saamiseks lugege käsku käivitades ipsec.conf-i käsuleht.

$ man ipsec.conf

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

8. Pärast mõlema turvavärava konfigureerimist genereerige järgmise käsu abil turvaline PSK, mida eakaaslased saavad kasutada.

$ head -c 24 /dev/urandom | base64

9. Seejärel lisage PSK mõlema lüüsi faili /etc/ipsec.secrets.

$ sudo vim /etc/ipsec.secrets

Kopeerige ja kleepige järgmine rida.

------- 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. Taaskäivitage programm IPSec ja kontrollige ühenduste vaatamiseks selle olekut.

$ sudo ipsec restart
$ sudo ipsec status

11. Lõpuks veenduge, et pääsete privaatsetele alamvõrkudele mõlemast turvaväravast, käivitades ping-käsu.

$ ping 192.168.0.101
$ ping 10.0.2.15

12. Lisaks saate IPSeci peatada ja käivitada, nagu näidatud.

$ sudo ipsec stop
$ sudo ipsec start

13. Lisateavet IPSeci käskude kohta ühenduste käsitsi loomiseks ja muud leiate IPSeci abilehelt.

$ ipsec --help

See on kõik! Selles artiklis oleme kirjeldanud, kuidas seadistada saidilt saidile IPSec VPN, kasutades tugeva Swan abil Ubuntu ja Debiani servereid, kus mõlemad turvaväravad olid konfigureeritud üksteise autentimiseks PSK abil. Kui teil on küsimusi või mõtteid, mida jagada, võtke meiega ühendust allpool oleva tagasisidevormi kaudu.