Hvernig á að setja upp IPsec byggt VPN með Strongswan á Debian og Ubuntu


strongSwan er opinn uppspretta, þvert á vettvang, fullbúið og mikið notað IPsec byggt VPN (Virtual Private Network) útfærsla sem keyrir á Linux, FreeBSD, OS X, Windows, Android og iOS. Það er fyrst og fremst lyklapúki sem styður samskiptareglur Internet Key Exchange (IKEv1 og IKEv2) til að koma á öryggissamböndum (SA) milli tveggja jafningja.

Þessi grein lýsir því hvernig á að setja upp IPSec VPN gáttir frá síðu til staðar með því að nota strongSwan á Ubuntu og Debian netþjónum. Með síðu til síðu er átt við að hver öryggisgátt hafi undirnet á bak við sig. Að auki munu jafnaldrarnir sannvotta hver annan með því að nota fyrirfram deilt lykil (PSK).

Mundu að skipta um eftirfarandi IP-tölur með raunverulegum IP-tölum þínum til að stilla umhverfið þitt.

Site 1 Gateway (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

Site 2 Gateway (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

Skref 1: Virkja á framsendingu kjarnapakka

1. Fyrst þarftu að stilla kjarnann til að virkja pakkaframsendingu með því að bæta við viðeigandi kerfisbreytum í /etc/sysctl.conf stillingarskrá á báðum öryggisgáttum.

$ sudo vim /etc/sysctl.conf

Leitaðu að eftirfarandi línum og afskrifaðu þær og stilltu gildi þeirra eins og sýnt er (lestu athugasemdir í skránni fyrir frekari upplýsingar).

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. Næst skaltu hlaða inn nýju stillingunum með því að keyra eftirfarandi skipun.

$ sudo sysctl -p

3. Ef þú ert með UFW eldveggsþjónustu virka þarftu að bæta eftirfarandi reglum við /etc/ufw/before.rules stillingarskrána rétt á undan síureglunum í annarri hvorri öryggisgáttum.

Site 1 Gateway (tecmint-devgateway)

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

Site 2 Gateway (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. Þegar eldveggsreglum hefur verið bætt við skaltu nota nýju breytingarnar með því að endurræsa UFW eins og sýnt er.

$ sudo ufw disable 
$ sudo ufw enable

Skref 2: Settu upp strongSwan í Debian og Ubuntu

5. Uppfærðu skyndiminni pakkans á báðum öryggisgáttum og settu upp strongswan pakkann með því að nota APT pakkastjórann.

$ sudo apt update
$ sudo apt install strongswan 

6. Þegar uppsetningunni er lokið mun uppsetningarforskriftin ræsa strongswan þjónustuna og gera henni kleift að byrja sjálfkrafa við ræsingu kerfisins. Þú getur athugað stöðu þess og hvort það sé virkt með eftirfarandi skipun.

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

Skref 3: Stilla öryggisgáttir

7. Næst þarftu að stilla öryggisgáttirnar með /etc/ipsec.conf stillingarskránni.

Site 1 Gateway (tecmint-devgateway)

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

Afritaðu og límdu eftirfarandi stillingar í skrána.

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

Site 2 Gateway (tecmint-prodgateway)

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

Afritaðu og límdu eftirfarandi stillingar inn í skrána.

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

Hér er merking hverrar stillingarbreytu:

  • stillingaruppsetning – tilgreinir almennar stillingarupplýsingar fyrir IPSec sem eiga við um allar tengingar.
  • charondebug – skilgreinir hversu mikið Charon kembiforrit ætti að skrá inn.
  • einstök auðkenni – tilgreinir hvort tiltekið auðkenni þátttakanda eigi að vera einstakt.
  • conn prodgateway-to-devgateway – skilgreinir heiti tengingar.
  • gerð – skilgreinir gerð tengingar.
  • sjálfvirkt – hvernig á að meðhöndla tengingu þegar IPSec er ræst eða endurræst.
  • keyexchange – skilgreinir útgáfu IKE samskiptareglunnar sem á að nota.
  • authby – skilgreinir hvernig jafningjar eiga að auðkenna hver annan.
  • vinstri – skilgreinir IP-tölu almenningsnetsviðmóts vinstri þátttakanda.
  • leftsubnet – tilgreinir einkaundirnetið fyrir aftan vinstri þátttakandann.
  • hægri – tilgreinir IP-tölu almenna netviðmóts rétts þátttakanda.
  • rightsubnet – tilgreinir einkaundirnetið fyrir aftan vinstri þátttakandann.
  • ike – skilgreinir lista yfir IKE/ISAKMP SA dulkóðunar-/staðfestingaralgrím sem á að nota. Þú getur bætt við lista sem er aðskilinn með kommum.
  • esp – skilgreinir lista yfir ESP dulkóðun/staðfestingaralgrím sem á að nota fyrir tenginguna. Þú getur bætt við lista sem er aðskilinn með kommum.
  • árásargjarn – segir til um hvort nota eigi árásargjarn eða aðalham.
  • lyklatilraunir – segir til um fjölda tilrauna sem ætti að gera til að semja um tengingu.
  • ikelifetime – segir til um hversu lengi lyklarás tengingar á að endast áður en endursamið er.
  • líftími – skilgreinir hversu lengi tiltekið tilvik tengingar á að endast, frá árangursríkum samningaviðræðum þar til það rennur út.
  • dpddelay – tilgreinir tímabilið sem R_U_THERE skilaboð/INFORMATIONAL skipti eru send til jafningjans.
  • dpdtimeout – tilgreinir tímamörkin, eftir það er öllum tengingum við jafningja eytt ef aðgerðaleysi er ekki.
  • dpdaction – skilgreinir hvernig á að nota Dead Peer Detection (DPD) samskiptareglur til að stjórna tengingunni.

Fyrir frekari upplýsingar um ofangreindar stillingarfæribreytur, lestu ipsec.conf man síðuna með því að keyra skipunina.

$ man ipsec.conf

Skref 4: Stilla PSK fyrir jafningja-til-jafningja auðkenningu

8. Eftir að hafa stillt báðar öryggisgáttirnar skaltu búa til öruggt PSK til að nota af jafningjum með eftirfarandi skipun.

$ head -c 24 /dev/urandom | base64

9. Næst skaltu bæta við PSK í /etc/ipsec.secrets skránni á báðum gáttum.

$ sudo vim /etc/ipsec.secrets

Afritaðu og límdu eftirfarandi línu.

------- 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. Endurræstu IPSec forritið og athugaðu stöðu þess til að skoða tengingar.

$ sudo ipsec restart
$ sudo ipsec status

11. Að lokum skaltu ganga úr skugga um að þú hafir aðgang að einkaundirnetunum frá annarri hvorri öryggisgáttum með því að keyra ping skipun.

$ ping 192.168.0.101
$ ping 10.0.2.15

12. Að auki geturðu stöðvað og ræst IPSec eins og sýnt er.

$ sudo ipsec stop
$ sudo ipsec start

13. Til að vita meira um IPSec skipanir til að koma upp tengingum handvirkt og fleira, sjáðu IPSec hjálparsíðuna.

$ ipsec --help

Það er allt og sumt! Í þessari grein höfum við lýst því hvernig á að setja upp IPSec VPN frá síðu til staðar með því að nota strongSwan á Ubuntu og Debian netþjónum, þar sem báðar öryggisgáttirnar voru stilltar til að auðkenna hvort annað með PSK. Ef þú hefur einhverjar spurningar eða hugsanir til að deila skaltu hafa samband við okkur í gegnum athugasemdaformið hér að neðan.