Jinsi ya Kusanidi VPN inayotegemea IPsec na Strongswan kwenye CentOS/RHEL 8


strongSwan ni chanzo huria, majukwaa mengi, suluhisho la kisasa na kamilifu la VPN lenye msingi wa IPsec kwa ajili ya Linux ambalo hutoa usaidizi kamili kwa Internet Key Exchange (IKEv1 na IKEv2) ili kuanzisha vyama vya usalama (SA) kati ya rika mbili. Imeangaziwa kikamilifu, kulingana na muundo na inatoa programu-jalizi kadhaa ambazo huongeza utendakazi wa msingi.

Kifungu Husika: Jinsi ya Kusanidi VPN inayotegemea IPsec na Strongswan kwenye Debian na Ubuntu

Katika makala haya, utajifunza jinsi ya kusanidi lango la IPsec VPN la tovuti hadi tovuti kwa kutumia strongSwan kwenye seva za CentOS/RHEL 8. Hii huwezesha programu zingine kuthibitishana kwa kutumia ufunguo madhubuti ulioshirikiwa awali (PSK). Usanidi wa tovuti hadi tovuti unamaanisha kila lango la usalama lina wavu ndogo nyuma yake.

Usisahau kutumia anwani zako za IP za ulimwengu halisi wakati wa usanidi unapofuata mwongozo.

Public IP: 192.168.56.7
Private IP: 10.10.1.1/24
Private Subnet: 10.10.1.0/24
Public IP:  192.168.56.6
Private IP: 10.20.1.1/24
Private Subnet: 10.20.1.0/24

Hatua ya 1: Kuwezesha Usambazaji wa IP ya Kernel katika CentOS 8

1. Anza kwa kuwezesha utendakazi wa usambazaji wa IP wa kernel katika /etc/sysctl.conf faili ya usanidi kwenye lango zote mbili za VPN.

# vi /etc/sysctl.conf

Ongeza mistari hii kwenye faili.

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. Baada ya kuhifadhi mabadiliko katika faili, endesha amri ifuatayo ili kupakia vigezo vipya vya kernel wakati wa kukimbia.

# sysctl -p

3. Kisha, unda njia ya kudumu ya tuli katika faili /etc/sysconfig/network-scripts/route-eth0 kwenye lango zote za usalama.

# vi /etc/sysconfig/network-scripts/route-eth0

Ongeza mstari ufuatao kwenye faili.

#Site 1 Gateway
10.20.1.0/24  via 192.168.56.7

#Site 2 Gateway
10.10.1.0/24 via 192.168.56.6

4. Kisha anzisha upya meneja wa mtandao ili kutumia mabadiliko mapya.

# systemctl restart NetworkManager

Hatua ya 2: Kusakinisha strongSwan kwenye CentOS 8

5. Kifurushi cha strongswan kimetolewa kwenye hazina ya EPEL. Ili kuisakinisha, unahitaji kuwezesha hazina ya EPEL, kisha usakinishe strongwan kwenye lango zote mbili za usalama.

# dnf install epel-release
# dnf install strongswan

6. Kuangalia toleo la strongswan lililowekwa kwenye lango zote mbili, endesha amri ifuatayo.

# strongswan version

7. Ifuatayo, anza huduma ya strongswan na uiwezesha kuanza moja kwa moja kwenye boot ya mfumo. Kisha uthibitishe hali kwenye lango zote mbili za usalama.

# systemctl start strongswan 
# systemctl enable strongswan
# systemctl status strongswan

Kumbuka: Toleo la hivi punde zaidi la strongswan katika CentOS/REHL 8 linakuja na usaidizi kwa swanctl (tunzo mpya, inayoweza kubebeka ya mstari wa amri iliyoletwa na strongSwan 5.2.0, inayotumika kusanidi, kudhibiti na kufuatilia IKE daemon Charon kwa kutumia programu-jalizi ya vici) na matumizi ya kianzishi (au ipsec) kwa kutumia programu-jalizi ya kiharusi iliyoacha kutumika.

8. Saraka kuu ya usanidi ni /etc/strongswan/ ambayo ina faili za usanidi za programu-jalizi zote mbili:

# ls /etc/strongswan/

Kwa mwongozo huu, tutatumia matumizi ya IPsec ambayo yametumiwa kwa kutumia amri ya strongswan na kiolesura cha kiharusi. Kwa hivyo tutatumia faili zifuatazo za usanidi:

  • /etc/strongswan/ipsec.conf - faili ya usanidi kwa mfumo mdogo wa IPsec wenye nguvu waSwan.
  • /etc/strongswan/ipsec.secrets - faili ya siri.

Hatua ya 3: Kuweka Lango la Usalama

9. Katika hatua hii, unahitaji kusanidi wasifu wa uunganisho kwenye kila lango la usalama kwa kila tovuti kwa kutumia /etc/strongswan/ipsec.conf faili ya usanidi strongswan.

# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

Nakili na ubandike usanidi ufuatao kwenye faili.

config setup
        charondebug="all"
        uniqueids=yes
conn ateway1-to-gateway2
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.7
        leftsubnet=10.10.1.1/24
        right=192.168.56.6
        rightsubnet=10.20.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig
# vi /etc/strongswan/ipsec.conf

Nakili na ubandike usanidi ufuatao kwenye faili:

config setup
        charondebug="all"
        uniqueids=yes
conn 2gateway-to-gateway1
        type=tunnel
        auto=start
        keyexchange=ikev2
        authby=secret
        left=192.168.56.6
        leftsubnet=10.20.1.1/24
        right=192.168.56.7
        rightsubnet=10.10.1.1/24
        ike=aes256-sha1-modp1024!
        esp=aes256-sha1!
        aggressive=no
        keyingtries=%forever
        ikelifetime=28800s
        lifetime=3600s
        dpddelay=30s
        dpdtimeout=120s
        dpdaction=restart

Wacha tueleze kwa ufupi kila moja ya vigezo vya usanidi hapo juu:

  • kuweka mipangilio - inafafanua maelezo ya jumla ya usanidi wa IPSec ambayo yanatumika kwa miunganisho yote.
  • charondebug - hubainisha ni kiasi gani cha matokeo ya utatuzi ya Charon yanapaswa kurekodiwa.
  • vipekee - hufafanua kama kitambulisho mahususi cha mshiriki kinafaa kuwekwa kipekee.
  • conn gateway1-to-gateway2 - hutumika kuweka jina la muunganisho.
  • aina - inafafanua aina ya muunganisho.
  • Otomatiki - hutumika kutangaza jinsi ya kushughulikia muunganisho wakati IPSec inapoanzishwa au kuwashwa upya.
  • keyexchange - inatangaza toleo la itifaki ya IKE ya kutumia.
  • authby - hubainisha jinsi wenzao wanapaswa kuthibitishana.
  • kushoto - inatangaza anwani ya IP ya kiolesura cha mshiriki wa kushoto cha mtandao wa umma.
  • leftsubnet - inatangaza subnet ya faragha nyuma ya mshiriki wa kushoto.
  • kulia - inatangaza anwani ya IP ya kiolesura sahihi cha mtandao wa umma cha mshiriki.
  • rightsubnet - inatangaza subnet ya faragha nyuma ya mshiriki wa kushoto.
  • kama - hutumika kutangaza orodha ya algoriti za usimbaji/uthibitishaji za IKE/ISAKMP SA zitakazotumika. Kumbuka kuwa hii inaweza kuwa orodha iliyotenganishwa kwa koma.
  • esp - inabainisha orodha ya algoriti za usimbaji/uthibitishaji za ESP zitakazotumika kuunganisha.
  • uchokozi - hutangaza iwapo utatumia Hali ya Uchokozi au Kuu.
  • keyingtries - inatangaza idadi ya majaribio ambayo yanafaa kufanywa ili kujadili muunganisho.
  • ikelifetime - hubainisha ni muda gani njia muhimu ya muunganisho inapaswa kudumu kabla ya kujadiliwa upya.
  • maisha yote - hubainisha muda ambao tukio fulani la muunganisho linafaa kudumu, kutoka kwa mazungumzo yaliyofaulu hadi kuisha.
  • dpddelay - inatangaza muda ambao ujumbe wa R_U_THERE/mabadilishano ya KARIBU hutumwa kwa programu rika.
  • dpdtimeout - hutumika kutangaza muda wa kuisha, na kisha miunganisho yote kwa programu rika hufutwa endapo hakuna shughuli.
  • dpdaction - hubainisha jinsi ya kutumia itifaki ya Dead Peer Detection(DPD) ili kudhibiti muunganisho.

Unaweza kupata maelezo ya vigezo vyote vya usanidi kwa mfumo mdogo wa IPsec wenye nguvu wa Swan kwa kusoma ukurasa wa mtu wa ipsec.conf.

# man ipsec.conf

Hatua ya 4: Kusanidi PSK kwa Uthibitishaji wa Peer-to-Rika

10. Kisha, unahitaji kuzalisha PSK imara ili kutumiwa na wenzao kwa uthibitishaji kama ifuatavyo.

# head -c 24 /dev/urandom | base64

11. Ongeza PSK katika /etc/strongswan/ipsec.conf faili kwenye lango zote za usalama.

# vi /etc/strongswan/ipsec.secrets

Ingiza mstari ufuatao kwenye faili.

#Site 1 Gateway
192.168.56.7  192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

#Site 1 Gateway
192.168.56.6  192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"

12. Kisha anza huduma ya strongsan na uangalie hali ya viunganisho.

# systemctl restart strongswan
# strongswan status

13. Jaribu ikiwa unaweza kufikia nyavu ndogo za kibinafsi kutoka kwa lango la usalama kwa kuendesha amri ya ping.

# ping 10.20.1.1
# ping 10.10.1.1

14. Mwisho lakini sio muhimu zaidi, ili kujifunza amri zaidi za strongswan za kuleta miunganisho ya juu/chini wewe mwenyewe na zaidi, angalia ukurasa wa usaidizi wa strongswan.

# strongswan --help

Ni hayo tu kwa sasa! Ili kushiriki mawazo yako nasi au kuuliza maswali, wasiliana nasi kupitia fomu ya maoni iliyo hapa chini. Na ili upate maelezo zaidi kuhusu matumizi mapya ya swanctl na muundo mpya wa usanidi unaonyumbulika zaidi, angalia Hati ya Mtumiaji yenye nguvu yaSwan.