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ň.