Kif Twaqqaf VPN ibbażat fuq IPsec bi Strongswan fuq Debian u Ubuntu


strongSwan hija implimentazzjoni ta' VPN (Netwerk Privat Virtwali) b'sors miftuħ, multi-pjattaforma, b'karatteristiċi sħaħ, u użata ħafna li taħdem fuq Linux, FreeBSD, OS X, Windows, Android u iOS. Huwa primarjament daemon keying li jappoġġja l-protokolli tal-Internet Key Exchange (IKEv1 u IKEv2) biex jiġu stabbiliti assoċjazzjonijiet tas-sigurtà (SA) bejn żewġ peers.

Dan l-artikolu jiddeskrivi kif twaqqaf gateways VPN IPSec minn sit għal sit billi tuża strongSwan fuq servers Ubuntu u Debian. B'sit għal sit irridu nfissru kull portal tas-sigurtà għandu sub-net warajh. Barra minn hekk, il-pari se jawtentikaw lil xulxin billi jużaw ċavetta pre-kondiviża (PSK).

Ftakar li tissostitwixxi l-IPs li ġejjin bl-IPs tad-dinja reali tiegħek biex tikkonfigura l-ambjent tiegħek.

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

Pass 1: Attivazzjoni tat-Trasmissjoni tal-Pakketti tal-Kernel

1. L-ewwel, għandek bżonn tikkonfigura l-qalba biex tippermetti l-kunsinna tal-pakketti billi żżid il-varjabbli tas-sistema xierqa fil-fajl ta 'konfigurazzjoni /etc/sysctl.conf fuq iż-żewġ gateways tas-sigurtà.

$ sudo vim /etc/sysctl.conf

Fittex il-linji li ġejjin u neħħihom il-kumment u ssettja l-valuri tagħhom kif muri (aqra l-kummenti fil-fajl għal aktar informazzjoni).

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. Sussegwentement, tagħbija l-issettjar il-ġdid billi tħaddem il-kmand li ġej.

$ sudo sysctl -p

3. Jekk għandek servizz tal-firewall tal-UFW attivat, trid iżżid ir-regoli li ġejjin mal-fajl tal-konfigurazzjoni /etc/ufw/before.rules eżatt qabel ir-regoli tal-filtru fi kwalunkwe portal tas-sigurtà.

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. Ladarba r-regoli tal-firewall ikunu ġew miżjuda, imbagħad applika l-bidliet ġodda billi terġa 'tibda UFW kif muri.

$ sudo ufw disable 
$ sudo ufw enable

Pass 2: Installazzjoni ta 'strongSwan f'Debian u Ubuntu

5. Aġġorna l-cache tal-pakkett tiegħek fuq iż-żewġ gateways tas-sigurtà u installa l-pakkett strongswan billi tuża l-maniġer tal-pakkett APT.

$ sudo apt update
$ sudo apt install strongswan 

6. Ladarba l-installazzjoni titlesta, l-iskrittura tal-installatur jibda s-servizz strongswan u jippermettilu jibda awtomatikament fil-boot tas-sistema. Tista 'tiċċekkja l-istatus tagħha u jekk hijiex attivata billi tuża l-kmand li ġej.

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

Pass 3: Konfigurazzjoni ta' Gateways tas-Sigurtà

7. Sussegwentement, għandek bżonn tikkonfigura l-gateways tas-sigurtà billi tuża l-fajl tal-konfigurazzjoni /etc/ipsec.conf.

Site 1 Gateway (tecmint-devgateway)

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

Ikkopja u waħħal il-konfigurazzjoni li ġejja fil-fajl.

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 

Ikkopja u waħħal il-konfigurazzjoni li ġejja fil-fajl.

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

Hawn hu t-tifsira ta' kull parametru ta' konfigurazzjoni:

  • config setup – jispeċifika informazzjoni ġenerali dwar il-konfigurazzjoni għall-IPSec li tapplika għall-konnessjonijiet kollha.
  • charondebug – jiddefinixxi kemm għandu jiġi illoggjat l-output tad-debugging ta' Charon.
  • uniqueids – jispeċifika jekk ID ta' parteċipant partikolari għandhiex tinżamm unika.
  • conn prodgateway-to-devgateway – jiddefinixxi l-isem tal-konnessjoni.
  • tip – jiddefinixxi t-tip ta' konnessjoni.
  • awto – kif timmaniġġja l-konnessjoni meta IPSec jinbeda jew jerġa' jibda.
  • keyexchange – jiddefinixxi l-verżjoni tal-protokoll IKE li se tuża.
  • authby – jiddefinixxi kif il-pari għandhom jawtentikaw lil xulxin.
  • xellug – jiddefinixxi l-indirizz IP tal-interface tan-netwerk pubbliku tal-parteċipant tax-xellug.
  • leftsubnet – jiddikjara s-subnet privat wara l-parteċipant tax-xellug.
  • dritt – jispeċifika l-indirizz IP tal-interface tan-netwerk pubbliku tal-parteċipant it-tajjeb.
  • rightsubnet – jiddikjara s-subnet privat wara l-parteċipant tax-xellug.
  • ike – jiddefinixxi lista ta' algoritmi ta' encryption/awtentikazzjoni IKE/ISAKMP SA li għandhom jintużaw. Tista' żżid lista separata b'virgola.
  • esp – jiddefinixxi lista ta' algoritmi ta' encryption/awtentikazzjoni ESP li għandhom jintużaw għall-konnessjoni. Tista' żżid lista separata b'virgola.
  • aggressiv – jgħid jekk għandux juża l-Modalità Aggressiva jew Prinċipali.
  • keyingtries – jiddikjara n-numru ta' tentattivi li għandhom isiru biex tinnegozja konnessjoni.
  • ikellifetime – jiddikjara kemm għandu jdum il-kanal ta' keying ta' konnessjoni qabel ma jiġi nnegozjat mill-ġdid.
  • ħajja – jiddefinixxi kemm għandha ddum istanza partikolari ta' konnessjoni, minn negozjar b'suċċess sal-iskadenza.
  • dpddelay – jispeċifika l-intervall ta' ħin li bih jintbagħtu l-messaġġi R_U_THERE/iskambji INFORMAZZJONALI lill-peer.
  • dpdtimeout – jispeċifika l-intervall ta' timeout, li warajh il-konnessjonijiet kollha ma' peer jitħassru f'każ ta' inattività.
  • dpdaction – jiddefinixxi kif tuża l-protokoll Dead Peer Detection (DPD) biex timmaniġġja l-konnessjoni.

Għal aktar informazzjoni dwar il-parametri ta 'konfigurazzjoni ta' hawn fuq, aqra l-paġna man ipsec.conf billi tħaddem il-kmand.

$ man ipsec.conf

Pass 4: Konfigurazzjoni tal-PSK għall-Awtentikazzjoni Peer-to-Peer

8. Wara li kkonfigurat iż-żewġ gateways tas-sigurtà, iġġenera PSK sikur biex jintuża mill-pari billi tuża l-kmand li ġej.

$ head -c 24 /dev/urandom | base64

9. Sussegwentement, żid il-PSK fil-fajl /etc/ipsec.secrets fuq iż-żewġ gateways.

$ sudo vim /etc/ipsec.secrets

Ikkopja u waħħal il-linja li ġejja.

------- 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. Ibda mill-ġdid il-programm IPSec u ċċekkja l-istatus tiegħu biex tara l-konnessjonijiet.

$ sudo ipsec restart
$ sudo ipsec status

11. Finalment, ivverifika li tista' taċċessa s-sub-nets privati minn jew gateways tas-sigurtà billi tħaddem kmand ping.

$ ping 192.168.0.101
$ ping 10.0.2.15

12. Barra minn hekk, tista 'tieqaf u tibda IPSec kif muri.

$ sudo ipsec stop
$ sudo ipsec start

13. Biex tkun taf aktar dwar il-kmandi tal-IPSec biex iġibu manwalment konnessjonijiet u aktar, ara l-paġna tal-għajnuna tal-IPSec.

$ ipsec --help

Dak kollox! F'dan l-artikolu, iddeskrivejna kif twaqqaf VPN IPSec minn sit għal sit bl-użu ta 'strongSwan fuq servers Ubuntu u Debian, fejn iż-żewġ gateways tas-sigurtà ġew ikkonfigurati biex jawtentikaw lil xulxin permezz ta' PSK. Jekk għandek xi mistoqsijiet jew ħsibijiet x'taqsam, ikkuntattjana permezz tal-formola ta' feedback hawn taħt.