ວິທີການຕັ້ງຄ່າ VPN ທີ່ໃຊ້ IPsec ກັບ Strongswan ເທິງ CentOS/RHEL 8


strongSwan ແມ່ນໂຊລູຊັ່ນເປີດ, ຫລາຍໆແພລດຟອມ, ທີ່ທັນສະ ໄໝ ແລະຄົບຖ້ວນ IPsec ທີ່ໃຊ້ VPN ສຳ ລັບ Linux ທີ່ໃຫ້ການສະ ໜັບ ສະ ໜູນ ຢ່າງເຕັມທີ່ ສຳ ລັບການແລກປ່ຽນລະຫັດອິນເຕີເນັດ (ທັງ IKEv1 ແລະ IKEv2) ເພື່ອສ້າງຕັ້ງສະມາຄົມຄວາມປອດໄພ (SA) ລະຫວ່າງສອງຄົນ. ມັນມີຮູບແບບເຕັມຮູບແບບ, ແບບລວດລາຍໂດຍການອອກແບບແລະມີໂປແກຼມ plugins ຫຼາຍສິບໂຕທີ່ຊ່ວຍເພີ່ມການເຮັດວຽກຫຼັກ.

ບົດຂຽນທີ່ກ່ຽວຂ້ອງ: ວິທີການຕັ້ງຄ່າ VPN ທີ່ໃຊ້ IPsec ກັບ Strongswan ເທິງ Debian ແລະ Ubuntu

ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຕັ້ງຄ່າປະຕູໄຊທ໌ IPsec VPN ຂອງເວບໄຊທ໌ - site ໂດຍໃຊ້ strongSwan ເທິງ CentOS/RHEL 8 server. ນີ້ຊ່ວຍໃຫ້ເພື່ອນມິດສາມາດກວດສອບເຊິ່ງກັນແລະກັນໂດຍໃຊ້ປຸ່ມທີ່ມີການແບ່ງປັນລ່ວງ ໜ້າ (PSK). ການຕັ້ງເວບໄຊທ໌ເຖິງສະຖານທີ່ ໝາຍ ເຖິງແຕ່ລະປະຕູປ້ອງກັນຄວາມປອດໄພມີເຄືອຂ່າຍຍ່ອຍຢູ່ເບື້ອງຫຼັງ.

ຢ່າລືມໃຊ້ທີ່ຢູ່ IP ທີ່ແທ້ຈິງຂອງທ່ານໃນລະຫວ່າງການຕັ້ງຄ່າໃນຂະນະທີ່ເຮັດຕາມ ຄຳ ແນະ ນຳ.

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

ຂັ້ນຕອນທີ 1: ການເປີດໃຊ້ Kernel IP ການສົ່ງຕໍ່ໃນ CentOS 8

1. ເລີ່ມຕົ້ນໂດຍການເປີດໃຊ້ຄຸນສົມບັດການສົ່ງຕໍ່ IP ຂອງ kernel ໃນ /etc/sysctl.conf ໄຟລ໌ການຕັ້ງຄ່າທັງສອງປະຕູ VPN.

# vi /etc/sysctl.conf

ຕື່ມສາຍເຫຼົ່ານີ້ໃສ່ໃນເອກະສານ.

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. ຫຼັງຈາກປະຫຍັດການປ່ຽນແປງຂອງເອກະສານ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອໂຫຼດພາລາມິເຕີຂອງ kernel ໃໝ່ ໃນເວລາແລ່ນ.

# sysctl -p

3. ຕໍ່ໄປ, ສ້າງເສັ້ນທາງຄົງທີ່ແບບຖາວອນໃນແຟ້ມເອກະສານ/etc/sysconfig/network-scripts/route-eth0 ທັງສອງປະຕູຄວາມປອດໄພ.

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

ຕື່ມສາຍຕໍ່ໄປນີ້ໃນແຟ້ມ.

#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. ຫຼັງຈາກນັ້ນເລີ່ມຕົ້ນຜູ້ຈັດການເຄືອຂ່າຍຄືນ ໃໝ່ ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ ໃໝ່.

# systemctl restart NetworkManager

ຂັ້ນຕອນທີ 2: ການຕິດຕັ້ງ strongSwan ໃນ CentOS 8

5. ຊຸດທີ່ແຂງແຮງແມ່ນຖືກຈັດຫາໃນຫ້ອງເກັບ EPEL. ການຕິດຕັ້ງມັນ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດໃຊ້ຫ້ອງສະຫມຸດ EPEL, ຫຼັງຈາກນັ້ນຕິດຕັ້ງ strongwan ທັງສອງປະຕູຄວາມປອດໄພ.

# dnf install epel-release
# dnf install strongswan

6. ເພື່ອກວດສອບລຸ້ນທີ່ແຂງແຮງທີ່ຕິດຕັ້ງຢູ່ທັງສອງປະຕູ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# strongswan version

7. ຕໍ່ໄປ, ເລີ່ມຕົ້ນການບໍລິການຂອງ strongswan ແລະຊ່ວຍໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນລະບົບ. ຈາກນັ້ນກວດສອບສະຖານະພາບຢູ່ທັງສອງປະຕູຄວາມປອດໄພ.

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

ໝາຍ ເຫດ: ລຸ້ນແຂງແຮງສຸດທ້າຍໃນ CentOS/REHL 8 ມາພ້ອມກັບການສະ ໜັບ ສະ ໜູນ ທັງ swanctl (ເຄື່ອງໃຊ້ສາຍ ຄຳ ສັ່ງແບບພົກພາ ໃໝ່ ທີ່ ນຳ ສະ ເໜີ ກັບ strongSwan 5.2.0, ເຊິ່ງໃຊ້ໃນການຕັ້ງຄ່າ, ຄວບຄຸມແລະກວດສອບ IKE daemon Charon ໂດຍໃຊ້ໂປແກຼມ vici) ແລະຜົນປະໂຫຍດເລີ່ມຕົ້ນ (ຫຼື ipsec) ໂດຍໃຊ້ໂປແກຼມ stroke stroke ທີ່ຖືກປະຕິເສດ.

8. ໄດເລກະທໍລີການຕັ້ງຄ່າຕົ້ນຕໍແມ່ນ/etc/strongswan/ເຊິ່ງມີໄຟລ໌ການຕັ້ງຄ່າ ສຳ ລັບທັງສອງ plugins:

# ls /etc/strongswan/

ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະ ນຳ ໃຊ້ຜົນປະໂຫຍດ IPsec ເຊິ່ງຖືກຮຽກຮ້ອງໂດຍໃຊ້ ຄຳ ສັ່ງທີ່ມີຄວາມເຂັ້ມແຂງແລະການໂຕ້ຕອບເສັ້ນເລືອດຕັນໃນ. ດັ່ງນັ້ນພວກເຮົາຈະໃຊ້ແຟ້ມການຕັ້ງຄ່າຕໍ່ໄປນີ້:

  • /etc/strongswan/ipsec.conf - ໄຟລ໌ການຕັ້ງຄ່າ ສຳ ລັບລະບົບຍ່ອຍຍ່ອຍ IPSS ທີ່ເຂັ້ມແຂງ.
  • /etc/strongswan/ipsec.secrets - ເອກະສານລັບ.

ຂັ້ນຕອນທີ 3: ການຕັ້ງຄ່າຄວາມປອດໄພ Gateways

9. ໃນຂັ້ນຕອນນີ້, ທ່ານ ຈຳ ເປັນຕ້ອງ ກຳ ຫນົດຄ່າໂປຣໄຟລ໌ເຊື່ອມຕໍ່ໃນແຕ່ລະປະຕູຄວາມປອດໄພ ສຳ ລັບແຕ່ລະເວັບໄຊໂດຍໃຊ້ເອກະສານການຕັ້ງຄ່າ /etc/strongswan/ipsec.conf strongswan.

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

ຄັດລອກແລະວາງການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃນແຟ້ມ.

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

ຄັດລອກແລະວາງການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃນແຟ້ມ:

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

ໃຫ້ອະທິບາຍໂດຍຫຍໍ້ກ່ຽວກັບແຕ່ລະຕົວ ກຳ ນົດການຕັ້ງຄ່າຂ້າງເທິງນີ້:

  • config setup - ກຳ ນົດຂໍ້ມູນການຕັ້ງຄ່າທົ່ວໄປ ສຳ ລັບ IPSec ເຊິ່ງໃຊ້ກັບການເຊື່ອມຕໍ່ທັງ ໝົດ.
  • charondebug - ລະບຸວ່າຜົນຜະລິດ debugging ຂອງ Charon ຄວນເຂົ້າສູ່ລະບົບເທົ່າໃດ.
  • ເອກະລັກສະເພາະ - ກຳ ນົດວ່າ ID ຂອງຜູ້ເຂົ້າຮ່ວມສະເພາະໃດ ໜຶ່ງ ຄວນຈະຖືກເກັບໄວ້ເປັນເອກະລັກ.
  • conn gateway1-to-gateway2 - ໃຊ້ເພື່ອຕັ້ງຊື່ການເຊື່ອມຕໍ່.
  • type - ກຳ ນົດປະເພດການເຊື່ອມຕໍ່.
  • ອັດຕະໂນມັດ - ໃຊ້ເພື່ອປະກາດວິທີການຈັດການການເຊື່ອມຕໍ່ເມື່ອ IPSec ເລີ່ມຕົ້ນຫຼືເລີ່ມຕົ້ນ ໃໝ່.
  • keyexchange - ປະກາດສະບັບຂອງໂປໂຕຄອນ IKE ເພື່ອໃຊ້.
  • ຄວາມຊື່ສັດ - ລະບຸວິທີທີ່ມິດສະຫາຍຄວນກວດສອບຄວາມຈິງເຊິ່ງກັນແລະກັນ.
  • ເບື້ອງຊ້າຍມື - ປະກາດທີ່ຢູ່ IP ຂອງອິນເຕີເນັດເຄືອຂ່າຍຂອງຜູ້ເຂົ້າຮ່ວມຝ່າຍຊ້າຍ.
  • leftsubnet - ປະກາດ subnet ສ່ວນຕົວຢູ່ເບື້ອງຫຼັງຂອງຜູ້ເຂົ້າຮ່ວມເບື້ອງຊ້າຍ.
  • ຖືກຕ້ອງ - ປະກາດທີ່ຢູ່ IP ຂອງເຄືອຂ່າຍອິນເຕີເນັດຂອງຜູ້ເຂົ້າຮ່ວມທີ່ຖືກຕ້ອງ.
  • rightsubnet - ປະກາດ subnet ສ່ວນຕົວຢູ່ເບື້ອງຫຼັງຂອງຜູ້ເຂົ້າຮ່ວມເບື້ອງຊ້າຍ.
  • ike - ໃຊ້ໃນການປະກາດລາຍຊື່ຂອງລະບົບການເຂົ້າລະຫັດ/ການກວດສອບລະຫັດລັບຂອງ IKE/ISAKMP SA ທີ່ຈະໃຊ້. ໃຫ້ສັງເກດວ່ານີ້ສາມາດເປັນບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍຈໍ້າຈຸດ.
  • esp - ລະບຸບັນຊີຂອງສູດການເຂົ້າລະຫັດ/ການກວດສອບລະບົບ ESP ທີ່ຈະໃຊ້ ສຳ ລັບການເຊື່ອມຕໍ່.
  • ຮຸກຮານ - ປະກາດວ່າຈະໃຊ້ແບບຮຸກຮານຫລື Main Mode.
  • keyingtries - ປະກາດ ຈຳ ນວນຄວາມພະຍາຍາມທີ່ຄວນເຮັດເພື່ອເຈລະຈາການເຊື່ອມຕໍ່.
  • ikelifetime - ລະບຸວ່າຊ່ອງທາງ ສຳ ຄັນຂອງການເຊື່ອມຕໍ່ຄວນຈະມີຢູ່ຕໍ່ໄປໄດ້ແນວໃດກ່ອນທີ່ຈະຖືກເຈລະຈາ ໃໝ່.
  • ຕະຫຼອດຊີວິດ - ລະບຸດົນປານໃດຕົວຢ່າງສະເພາະຂອງການເຊື່ອມຕໍ່ຄວນຈາກການເຈລະຈາທີ່ປະສົບຜົນ ສຳ ເລັດຈົນ ໝົດ ອາຍຸ.
  • dpddelay - ປະກາດໄລຍະຫ່າງຂອງເວລາທີ່ຂໍ້ຄວາມ R_U_THERE/ການແລກປ່ຽນຂໍ້ມູນໄດ້ຖືກສົ່ງໄປຫາເພື່ອນຮ່ວມກັນ.
  • dpdtimeout - ໃຊ້ໃນການປະກາດໄລຍະເວລາ ໝົດ ເວລາ, ຫຼັງຈາກນັ້ນການເຊື່ອມຕໍ່ທັງ ໝົດ ກັບມິດສະຫາຍຖືກລຶບຖິ້ມໃນກໍລະນີທີ່ບໍ່ມີປະສິດຕິພາບ.
  • dpdaction - ລະບຸວິທີການໃຊ້ໂປໂຕຄອນ Dead Peer Detection (DPD) ເພື່ອຈັດການການເຊື່ອມຕໍ່.

ທ່ານສາມາດຊອກຫາ ຄຳ ອະທິບາຍກ່ຽວກັບຕົວ ກຳ ນົດການຕັ້ງຄ່າທັງ ໝົດ ສຳ ລັບລະບົບຍ່ອຍຍ່ອຍ IPSS ທີ່ເຂັ້ມແຂງໂດຍການອ່ານ ໜ້າ man ຂອງ ipsec.conf.

# man ipsec.conf

ຂັ້ນຕອນທີ 4: ການຕັ້ງຄ່າ PSK ສຳ ລັບ Peer-to-Peer Authentication

10. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງ PSK ທີ່ເຂັ້ມແຂງທີ່ຈະໃຊ້ໂດຍມິດສະຫາຍ ສຳ ລັບການກວດສອບຄວາມຖືກຕ້ອງດັ່ງຕໍ່ໄປນີ້.

# head -c 24 /dev/urandom | base64

11. ຕື່ມ PSK ເຂົ້າໃນເອກະສານ /etc/strongswan/ipsec.conf ໃສ່ທັງສອງປະຕູຄວາມປອດໄພ.

# vi /etc/strongswan/ipsec.secrets

ໃສ່ແຖວຕໍ່ໄປນີ້ໃສ່ໃນເອກະສານ.

#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. ຫຼັງຈາກນັ້ນ, ເລີ່ມຕົ້ນການບໍລິການທີ່ຫມັ້ນຄົງແລະກວດເບິ່ງສະຖານະຂອງການເຊື່ອມຕໍ່.

# systemctl restart strongswan
# strongswan status

13. ທົດສອບເບິ່ງວ່າທ່ານສາມາດເຂົ້າໄປຫາເຄືອຂ່າຍຍ່ອຍສ່ວນຕົວໄດ້ຈາກທັງປະຕູຄວາມປອດໄພໂດຍການໃຊ້ ຄຳ ສັ່ງ ping.

# ping 10.20.1.1
# ping 10.10.1.1

14. ສຸດທ້າຍ, ເພື່ອຮຽນຮູ້ ຄຳ ສັ່ງທີ່ແຂງແຮງກວ່າເກົ່າເພື່ອ ນຳ ເອົາການເຊື່ອມຕໍ່ລົງ/ລົງແລະດ້ວຍຕົນເອງແລະອື່ນໆ, ເບິ່ງ ໜ້າ ຊ່ວຍເຫຼືອຂອງ strongswan.

# strongswan --help

ດຽວນີ້ ໝົດ ແລ້ວ! ເພື່ອແບ່ງປັນຄວາມຄິດຂອງທ່ານກັບພວກເຮົາຫຼືຖາມ ຄຳ ຖາມ, ຕິດຕໍ່ຫາພວກເຮົາຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ແລະເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບຜົນປະໂຫຍດ swanctl ແລະໂຄງສ້າງການຕັ້ງຄ່າທີ່ມີຄວາມຍືດຫຍຸ່ນ ໃໝ່, ເບິ່ງເອກະສານຂໍ້ມູນ UserSwan ທີ່ເຂັ້ມແຂງ.