Giunsa Paghimo ang Imong Kaugalingon nga IPsec VPN Server sa Linux


Adunay daghang mga benepisyo sa paggamit sa usa ka pag-browse sa internet nga dili mailhan.

Sa kini nga artikulo, mahibal-an nimo kung giunsa ang dali ug awtomatiko nga pag-set up sa imong kaugalingon nga IPsec/L2TP VPN server sa mga distribusyon sa CentOS/RHEL, Ubuntu, ug Debian Linux.

  1. Usa ka bag-ong CentOS/RHEL o Ubuntu/Debian VPS (Virtual Private Server) gikan sa bisan unsang provider sama sa Linode.

Pag-set up sa IPsec/L2TP VPN Server sa Linux

Aron ma-set up ang VPN server, mogamit kami usa ka nindot nga koleksyon sa mga script sa kabhang nga gihimo ni Lin Song, nga nag-install sa Libreswan isip IPsec server, ug xl2tpd isip L2TP provider. Ang tanyag naglakip usab sa mga script aron idugang o matangtang ang mga tiggamit sa VPN, i-upgrade ang pag-install sa VPN ug daghan pa.

Una, pag-log in sa imong VPS pinaagi sa SSH, dayon pagdagan ang angay nga mga mando alang sa imong pag-apod-apod aron ma-set up ang VPN server. Sa kasagaran, ang script makamugna og random nga mga kredensyal sa VPN (pre-shared nga yawe, VPN username, ug password) alang kanimo ug ipakita kini sa katapusan sa pag-instalar.

Bisan pa, kung gusto nimo gamiton ang imong kaugalingon nga mga kredensyal, una kinahanglan nimo nga maghimo usa ka lig-on nga password ug PSK sama sa gipakita.

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

Sunod, ibutang kini nga mga nahimo nga mga kantidad sama sa gihulagway sa mosunud nga mando ang tanan nga mga kantidad KINAHANGLANG ibutang sa sulod sa 'single quotes' ingon sa gipakita.

  • VPN_IPSEC_PSK – Ang imong IPsec pre-shared nga yawe.
  • VPN_USER – Imong VPN username.
  • VPN_PASSWORD – Imong password sa 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

Ang mga nag-unang pakete nga i-install mao ang bind-utils, net-tools, 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, ug fail2ban(aron mapanalipdan ang SSH), ug ang ilang mga dependency. Dayon kini mag-download, mag-compile ug mag-install sa Libreswan gikan sa tinubdan, makapahimo ug magsugod sa gikinahanglan nga mga serbisyo.

Kung kompleto na ang pag-install, ang mga detalye sa VPN ipakita sama sa gipakita sa mosunod nga screenshot.

Sunod, kinahanglan nimo nga i-set up ang usa ka kliyente sa VPN, para sa mga desktop o laptop nga adunay usa ka graphical user interface, tan-awa kini nga giya: Giunsa ang Pag-setup sa usa ka Kliyente sa L2TP/Ipsec VPN sa Linux.

Aron idugang ang koneksyon sa VPN sa usa ka mobile device sama sa Android phone, adto sa Settings -> Network & Internet (o Wireless & Networks -> More) -> Advanced -> VPN. Pilia ang opsyon sa pagdugang og bag-ong VPN. Ang matang sa VPN kinahanglang itakda sa IPSec Xauth PSK, unya gamita ang VPN gateway ug mga kredensyal sa ibabaw.

Giunsa ang Pagdugang o Pagtangtang sa usa ka Gumagamit sa VPN sa Linux

Aron makahimo ug bag-ong VPN user o mag-update sa kasamtangan nga VPN user gamit ang bag-ong password, i-download ug gamita ang add_vpn_user.sh script gamit ang mosunod nga wget command.

$ 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'

Aron mapapas ang usa ka VPN user, i-download ug gamita ang del_vpn_user.sh script.

$ 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'

Giunsa ang Pag-upgrade sa Pag-install sa Libreswan sa Linux

Mahimo nimong i-upgrade ang pag-install sa Libreswan gamit ang vpnupgrade.sh o vpnupgrade_centos.sh script. Siguruha nga i-edit ang variable nga SWAN_VER sa bersyon nga gusto nimo i-install, sulod sa script.

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

Giunsa i-uninstall ang VPN Server sa Linux

Aron ma-uninstall ang pag-instalar sa VPN, buhata ang mosunod.

# yum remove xl2tpd

Dayon ablihi ang /etc/sysconfig/iptables configuration file ug kuhaa ang wala kinahanglana nga mga lagda ug i-edit ang /etc/sysctl.conf ug /etc/rc.local file, ug kuhaa ang mga linya human sa komento # Gidugang sa hwdsl2 VPN script, sa duha ka mga file.

$ sudo apt-get purge xl2tpd

Sunod, usba /etc/iptables.rules configuration file ug kuhaa ang bisan unsang wala kinahanglana nga mga lagda. Dugang pa, usba /etc/iptables/rules.v4 kung naa.

Dayon i-edit ang /etc/sysctl.conf ug /etc/rc.local files, kuhaa ang mga linya human sa comment # Gidugang sa hwdsl2 VPN script, sa duha ka files. Ayaw kuhaa ang exit 0 kung kini anaa.

Opsyonal, mahimo nimong tangtangon ang pipila ka mga file ug direktoryo nga gihimo sa panahon sa pag-set up sa 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

Aron ma-set up ang usa ka site-to-site nga IPSec-based VPN uban sa Strongswan, susiha ang among mga giya:

  1. Unsaon Pag-setup sa IPSec-based VPN uban sa Strongswan sa Debian ug Ubuntu
  2. Unsaon Pag-setup sa IPSec-based VPN sa Strongswan sa CentOS/RHEL 8

Reperensya: https://github.com/hwdsl2/setup-ipsec-vpn

Niini nga punto, ang imong kaugalingon nga VPN server nagdagan ug nagdagan. Mahimo nimong ipaambit ang bisan unsang mga pangutana o hatagan kami og feedback gamit ang porma sa komento sa ubos.