ວິທີການສ້າງ IPsec VPN Server ຂອງທ່ານເອງໃນ Linux


ມີປະໂຫຍດຫຼາຍຢ່າງໃນການໃຊ້ VPN (ເຄືອຂ່າຍເອກະຊົນແບບເສມືນ), ບາງອັນລວມມີການຮັກສາຄວາມປອດໄພໃຫ້ທ່ານໃນອິນເຕີເນັດໂດຍການເຂົ້າລະຫັດການຈະລາຈອນຂອງທ່ານແລະຊ່ວຍໃຫ້ທ່ານສາມາດເຂົ້າເຖິງເນື້ອຫາ/ເວັບໄຊທ໌/ເວບໄຊທ໌ທີ່ຖືກບລັອກຈາກທຸກບ່ອນ. ບໍ່ໄດ້ກ່າວເຖິງ, VPN ຍັງຊ່ວຍໃຫ້ທ່ານທ່ອງອິນເຕີເນັດໂດຍບໍ່ລະບຸຊື່.

ໃນບົດຂຽນນີ້, ທ່ານຈະໄດ້ຮຽນຮູ້ວິທີການຈັດຕັ້ງ IPsec/L2TP VPN server ຂອງທ່ານເອງໃນການແຈກຈ່າຍແບບ CentOS/RHEL, Ubuntu ແລະ Debian Linux ຢ່າງວ່ອງໄວແລະອັດຕະໂນມັດ.

<

  • CentOS/RHEL ສົດຫລື Ubuntu/Debian VPS (Virtual Private Server) ຈາກຜູ້ໃຫ້ບໍລິການຕ່າງໆເຊັ່ນ Linode.
  • ການຕັ້ງຄ່າ IPsec/L2TP VPN Server ໃນ Linux

    ເພື່ອຕັ້ງຄ່າເຊີຟເວີ VPN, ພວກເຮົາຈະ ນຳ ໃຊ້ຊຸດສະຄິບຫອຍທີ່ສ້າງຂື້ນໂດຍ Lin Song, ເຊິ່ງຕິດຕັ້ງ Libreswan ເປັນ IPsec server ແລະ xl2tpd ເປັນຜູ້ໃຫ້ບໍລິການ L2TP. ການສະ ເໜີ ຂາຍຍັງປະກອບມີສະຄິບເພື່ອເພີ່ມຫລືລຶບຜູ້ໃຊ້ VPN, ຍົກລະດັບການຕິດຕັ້ງ VPN ແລະອື່ນໆ.

    ຫນ້າທໍາອິດ, ເຂົ້າສູ່ VPS ຂອງທ່ານຜ່ານ SSH, ຫຼັງຈາກນັ້ນດໍາເນີນການຄໍາສັ່ງທີ່ເຫມາະສົມສໍາລັບການແຈກຢາຍຂອງທ່ານເພື່ອຕັ້ງເຄື່ອງແມ່ຂ່າຍ VPN. ໂດຍຄ່າເລີ່ມຕົ້ນ, ສະຄິບຈະສ້າງຂໍ້ມູນປະ ຈຳ ຕົວ VPN ແບບສຸ່ມ (ທີ່ຖືກແບ່ງປັນກ່ອນ, ຊື່ຜູ້ໃຊ້ VPN ແລະລະຫັດຜ່ານ) ສຳ ລັບທ່ານແລະສະແດງຢູ່ບ່ອນສິ້ນສຸດການຕິດຕັ້ງ.

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

    # openssl rand -base64 10
    # openssl rand -base64 16
    

    ຕໍ່ໄປ, ກຳ ນົດຄ່າທີ່ຜະລິດເຫຼົ່ານີ້ໄວ້ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ຄຳ ສັ່ງຕໍ່ໄປນີ້ຄ່າທັງ ໝົດ ຕ້ອງຖືກວາງຢູ່ໃນ“ ວົງຢືມດຽວ” ທີ່ສະແດງໄວ້.

    • VPN_IPSEC_PSK - ລະຫັດທີ່ໃຊ້ຮ່ວມກັນລ່ວງ ໜ້າ ຂອງ IPsec ຂອງທ່ານ.
    • VPN_USER - ຊື່ຜູ້ໃຊ້ VPN ຂອງທ່ານ.
    • VPN_PASSWORD - ລະຫັດຜ່ານ VPN ຂອງທ່ານ.

    ---------------- On CentOS/RHEL ---------------- 
    # wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh
    
    ---------------- On Debian and Ubuntu ----------------
    # wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh
    

    ແພັກເກດຕົ້ນຕໍທີ່ຈະຕິດຕັ້ງແມ່ນຜູກມັດອຸປະກອນ, ເຄື່ອງມືສຸດທິ, bison, flex, gcc, libcap-ng-devel, libcurl-devel, libselinux-devel, nspr-devel, nss-devel, pam-devel, xl2tpd, iptables-services, systemd-devel, fipscheck-devel, libevent-devel, ແລະ fail2ban (ເພື່ອປົກປ້ອງ SSH), ແລະການເພິ່ງພາອາໄສຂອງພວກມັນ. ຫຼັງຈາກນັ້ນມັນດາວໂຫລດ, ລວບລວມແລະຕິດຕັ້ງ Libreswan ຈາກແຫລ່ງທີ່ມາ, ຊ່ວຍແລະເລີ່ມການບໍລິການທີ່ ຈຳ ເປັນ.

    ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ລາຍລະອຽດຂອງ VPN ຈະຖືກສະແດງຢູ່ໃນ ໜ້າ ຈໍຕໍ່ໄປນີ້.

    ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງຕັ້ງຄ່າລູກຄ້າ VPN, ສຳ ລັບ desktop ຫລື laptop ທີ່ມີອິນເຕີເຟດຜູ້ໃຊ້ແບບກາຟິກ, ອ້າງອີງໃສ່ຄູ່ມືນີ້: ວິທີການຕັ້ງຄ່າລູກຄ້າ VPN L2TP/Ipsec ໃນ Linux.

    ເພື່ອເພີ່ມການເຊື່ອມຕໍ່ VPN ໃນອຸປະກອນມືຖືເຊັ່ນ: ໂທລະສັບ Android, ເຂົ້າໄປທີ່ Settings -> Network & Internet (ຫລື Wireless & Networks -> ເພີ່ມເຕີມ) -> Advanced -> VPN. ເລືອກຕົວເລືອກທີ່ຈະເພີ່ມ VPN ໃໝ່. ປະເພດ VPN ຄວນຖືກຕັ້ງໃຫ້ເປັນ IPSec Xauth PSK, ຫຼັງຈາກນັ້ນໃຫ້ໃຊ້ປະຕູ VPN ແລະຂໍ້ມູນຄວາມສາມາດດ້ານເທິງ.

    ວິທີການເພີ່ມຫລືລຶບຜູ້ໃຊ້ VPN ໃນ Linux

    ເພື່ອສ້າງຜູ້ໃຊ້ VPN ຄົນ ໃໝ່ ຫຼືອັບເດດຜູ້ໃຊ້ VPN ທີ່ມີຢູ່ດ້ວຍລະຫັດລັບ ໃໝ່, ດາວໂຫລດແລະໃຊ້ຕົວອັກສອນ add_vpn_user.sh ໂດຍໃຊ້ ຄຳ ສັ່ງ wget ຕໍ່ໄປນີ້.

    $ wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
    $ sudo sh add_vpn_user.sh 'username_to_add' 'user_password'
    

    ເພື່ອລຶບຜູ້ໃຊ້ VPN, ດາວໂຫລດແລະໃຊ້ຕົວ ໜັງ ສື del_vpn_user.sh.

    $ wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
    $ sudo sh del_vpn_user.sh 'username_to_delete'
    

    ວິທີການຍົກລະດັບການຕິດຕັ້ງ Libreswan ໃນ Linux

    ທ່ານສາມາດຍົກລະດັບການຕິດຕັ້ງ Libreswan ໂດຍໃຊ້ສະຄິບ vpnupgrade.sh ຫຼື vpnupgrade_centos.sh. ໃຫ້ແນ່ໃຈວ່າຈະດັດແປງຕົວແປ SWAN_VER ກັບເວີຊັນທີ່ທ່ານຕ້ອງການຕິດຕັ້ງ, ພາຍໃນສະຄິບ.

    ---------------- On CentOS/RHEL ---------------- 
    # wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh
    
    ---------------- On Debian and Ubuntu ----------------
    # wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh
    

    ວິທີການຖອນການຕິດຕັ້ງ VPN Server ໃນ Linux

    ເພື່ອຖອນການຕິດຕັ້ງການຕິດຕັ້ງ VPN, ເຮັດສິ່ງຕໍ່ໄປນີ້.

    # yum remove xl2tpd
    

    ຈາກນັ້ນເປີດເອກະສານການຕັ້ງຄ່າ/etc/sysconfig/iptables ແລະຖອດລະບຽບທີ່ບໍ່ ຈຳ ເປັນແລະແກ້ໄຂ /etc/sysctl.conf ແລະ /etc/rc.local, ແລະຖອດສາຍຫຼັງຈາກ ຄຳ ເຫັນ # ເພີ່ມໂດຍ hwdsl2 ສະຄິບ VPN, ໃນທັງສອງເອກະສານ.

    $ sudo apt-get purge xl2tpd
    

    ຕໍ່ໄປ, ແກ້ໄຂເອກະສານການຕັ້ງຄ່າ /etc/iptables.rules ແລະເອົາກົດທີ່ບໍ່ ຈຳ ເປັນອອກມາ. ນອກຈາກນັ້ນ, ແກ້ໄຂ /etc/iptables/rules.v4 ຖ້າມັນມີຢູ່.

    ຫຼັງຈາກນັ້ນແກ້ໄຂເອກະສານ /etc/sysctl.conf ແລະ /etc/rc.local, ຖອດສາຍຫຼັງຈາກ ຄຳ ເຫັນ # ເພີ່ມໂດຍ hwdsl2 ສະຄິບ VPN, ໃນທັງສອງເອກະສານ. ຢ່າເອົາທາງອອກ 0 ຖ້າມັນມີຢູ່.

    ທາງເລືອກອື່ນ, ທ່ານສາມາດເອົາໄຟລ໌ແລະໄດເລກະທໍລີທີ່ແນ່ນອນທີ່ຖືກສ້າງຂື້ນໃນລະຫວ່າງທີ່ຕັ້ງ VPN.

    # rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
    # rm -rf /etc/ipsec.d /etc/xl2tpd
    

    ເພື່ອຕັ້ງ VPN-site-site IPSec ທີ່ອີງໃສ່ເວບໄຊທ໌ກັບ Strongswan, ກວດເບິ່ງຄູ່ມືແນະ ນຳ ຂອງພວກເຮົາ:

    <

  • ວິທີການຕັ້ງຄ່າ VPN ທີ່ໃຊ້ IPSec ກັບ Strongswan ເທິງ Debian ແລະ Ubuntu
  • ວິທີການຕັ້ງ VPN ທີ່ອີງໃສ່ IPSec ກັບ Strongswan ເທິງ CentOS/RHEL 8
  • ເອກະສານອ້າງອີງ: https://github.com/hwdsl2/setup-ipsec-vpn

    ໃນຈຸດນີ້, ເຄື່ອງແມ່ຂ່າຍ VPN ຂອງທ່ານເອງແມ່ນແລ້ວແລະ ກຳ ລັງແລ່ນຢູ່. ທ່ານສາມາດແບ່ງປັນ ຄຳ ຖາມໃດໆຫຼືໃຫ້ ຄຳ ເຫັນກັບພວກເຮົາໂດຍໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.