Debian we Ubuntu-da Strongswan bilen IPsec esasly VPN-i nädip gurmaly


strongSwan Linux, FreeBSD, OS X, Windows, Android we iOS-da işleýän açyk çeşme, platforma, doly aýratynlykly we giňden ulanylýan IPsec esasly VPN (Wirtual Private Network) durmuşa geçirişidir. Ilki bilen, iki deňdeşiň arasynda howpsuzlyk birleşiklerini (SA) döretmek üçin Internet açar alyş-çalyş protokollaryny (IKEv1 we IKEv2) goldaýan açar daemon.

Bu makala, Ubuntu we Debian serwerlerinde strongSwan ulanyp, saýtdan IPSec VPN şlýuzalaryny nädip gurmalydygyny düşündirýär. Sahypa-sahypa diýmek, her bir howpsuzlyk derwezesiniň aňyrsynda kiçi tor bar diýmekdir. Mundan başga-da, deň-duşlar öňünden paýlaşylan açary (PSK) ulanyp, biri-birini tassyklarlar.

Daşky gurşawyňyzy sazlamak üçin aşakdaky IP-leri hakyky dünýä IP-leri bilen çalyşmagy ýatdan çykarmaň.

1-nji sahypa şlýuzy (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

2-nji sahypa şlýuzy (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-nji ädim: ernadro paketini ugratmak

1. Ilki bilen, iki howpsuzlyk şlýuzasynda /etc/sysctl.conf konfigurasiýa faýlyna degişli ulgam üýtgeýjilerini goşup, paketiň ugradylmagyny üpjün etmek üçin ýadrosy sazlamaly.

$ sudo vim /etc/sysctl.conf

Aşakdaky setirleri gözläň we olary açyň we bahalaryny görkezilişi ýaly düzüň (has giňişleýin maglumat üçin faýldaky teswirleri okaň).

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. Ondan soň, aşakdaky buýrugy işledip, täze sazlamalary ýükläň.

$ sudo sysctl -p

3. UFW firewall hyzmaty açyk bolsa, /etc/ufw/before.rules konfigurasiýa faýlyna howpsuzlyk düzgünleriniň ikisinde-de süzgüç düzgüniniň öň ýanynda aşakdaky düzgünleri goşmaly.

1-nji sahypa şlýuzy (tecmint-devgateway)

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

2-nji sahypa şlýuzy (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. Gorag diwarynyň düzgünleri goşulandan soň, UFW-ni görkezilişi ýaly täzeden açyp, täze üýtgeşmeleri ulanyň.

$ sudo ufw disable 
$ sudo ufw enable

2-nji ädim: Debian we Ubuntu-da strongSwan gurmak

5. Paket keşiňizi iki howpsuzlyk şlýuzasynda täzeläň we APT paket dolandyryjysyny ulanyp, strongswan paketini guruň.

$ sudo apt update
$ sudo apt install strongswan 

6. Gurmak tamamlanandan soň, gurnaýjy skript strongswan hyzmatyny başlar we ulgam ýüklemesinde awtomatiki başlamaga mümkinçilik berer. Onuň ýagdaýyny we aşakdaky buýrugy ulanyp açykdygyny barlap bilersiňiz.

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

3-nji ädim: Howpsuzlyk şlýuzlaryny sazlamak

7. Ondan soň, /etc/ipsec.conf konfigurasiýa faýly ulanyp, howpsuzlyk şlýuzalaryny düzmeli.

1-nji sahypa şlýuzy (tecmint-devgateway)

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

Aşakdaky konfigurasiýany faýla göçüriň.

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

2-nji sahypa şlýuzy (tecmint-prodgateway)

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

Aşakdaky konfigurasiýany faýla göçüriň.

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

Her konfigurasiýa parametriniň manysy:

  • konfigurasiýa gurnama - ähli baglanyşyklara degişli IPSec üçin umumy konfigurasiýa maglumatlary kesgitleýär.
  • charondebug - Charon düzediş çykaryşynyň näçeräk hasaba alynmalydygyny kesgitleýär.
  • uniqueids - belli bir gatnaşyjy şahsyýetiniň özboluşly saklanmalydygyny kesgitleýär.
  • prodgateway-to-devgateway birikdiriň - baglanyşyk adyny kesgitleýär.
  • görnüşi - baglanyşyk görnüşini kesgitleýär.
  • awto - IPSec işe başlanda ýa-da täzeden açylanda birikmäni nädip dolandyrmaly.
  • keyexchange - ulanjak IKE protokolynyň wersiýasyny kesgitleýär.
  • authby - deň-duşlaryň biri-birini nädip tassyklamalydygyny kesgitleýär.
  • çep - çep gatnaşyjynyň köpçülikleýin set interfeýsiniň IP adresini kesgitleýär.
  • leftsubnet - çep gatnaşyjynyň arkasyndaky şahsy seti görkezýär.
  • dogry - dogry gatnaşyjynyň jemgyýetçilik set interfeýsiniň IP adresini kesgitleýär.
  • rightsubnet - çep gatnaşyjynyň arkasyndaky şahsy seti görkezýär.
  • ike - ulanyljak IKE/ISAKMP SA şifrlemek/tanamak algoritmleriniň sanawyny kesgitleýär. Düşündirilen sanaw goşup bilersiňiz.
  • esp - birikme üçin ulanyljak ESP şifrlemek/tanamak algoritmleriniň sanawyny kesgitleýär. Düşündirilen sanaw goşup bilersiňiz.
  • agressiw - Agressiw ýa-da Esasy tertibi ulanmalydygyny görkezýär.
  • açar ýazgylary - baglanyşyk barada gepleşik geçirmek üçin edilmeli synanyşyklaryň sanyny görkezýär.
  • ikelifetime - gepleşik açmazdan ozal baglanyşygyň açar kanalynyň näçe wagt dowam etmelidigini görkezýär.
  • ömür - üstünlikli gepleşiklerden başlap, gutarýança baglanyşygyň belli bir mysalynyň näçe wagt dowam etmelidigini kesgitleýär.
  • dpddelay - R_U_THERE habarlary/MAGLUMAT alyş-çalyşlarynyň deň-duşlara iberilýän wagt aralygyny kesgitleýär.
  • dpdtimeout - wagt gutarma aralygyny kesgitleýär, şondan soň hereketsiz ýagdaýynda deň-duş bilen ähli baglanyşyklar pozulýar.
  • dpdaction - baglanyşygy dolandyrmak üçin Öli deňdeşleri kesgitlemek (DPD) protokolyny nädip ulanmalydygyny kesgitleýär.

Aboveokardaky konfigurasiýa parametrleri barada has giňişleýin maglumat üçin buýrugy işledip ipsec.conf adam sahypasyny okaň.

$ man ipsec.conf

4-nji ädim: Deň-deňdeş tanamak üçin PSK-ny sazlamak

8. Iki howpsuzlyk şlýuzasyny düzeniňizden soň, aşakdaky buýrugy ulanyp deň-duşlar tarapyndan ulanyljak ygtybarly PSK dörediň.

$ head -c 24 /dev/urandom | base64

9. Ondan soň, iki şlýuzadaky /etc/ipsec.secrets faýlyna PSK goşuň.

$ sudo vim /etc/ipsec.secrets

Aşakdaky setiri göçüriň.

------- 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. IPSec programmasyny täzeden açyň we birikmeleri görmek üçin ýagdaýyny barlaň.

$ sudo ipsec restart
$ sudo ipsec status

11. Netijede, ping buýrugyny işledip, howpsuzlyk derwezelerinden hususy kiçi torlara girip biljekdigiňizi barlaň.

$ ping 192.168.0.101
$ ping 10.0.2.15

12. Mundan başga-da, görkezilişi ýaly IPSec-i saklap we başlap bilersiňiz.

$ sudo ipsec stop
$ sudo ipsec start

13. Baglanyşyklary el bilen açmak we başga-da köp zatlary IPSec buýruklary barada has giňişleýin bilmek üçin IPSec kömek sahypasyna serediň.

$ ipsec --help

Bu hemmesi! Bu makalada, Ubuntu we Debian serwerlerinde strongSwan ulanyp, saýtdan IPSec VPN-i nädip gurmalydygyny düşündirdik, bu ýerde iki howpsuzlyk derwezesi PSK ulanyp biri-birini tassyklamak üçin düzüldi. Paýlaşmak üçin soraglaryňyz ýa-da pikirleriňiz bar bolsa, aşakdaky seslenme formasy arkaly bize ýüz tutuň.