如何在Linux中创建自己的IPsec VPN服务器
使用VPN(虚拟专用网络)有很多好处,其中包括通过加密流量和帮助您从任何地方访问被阻止的内容/站点/网络应用程序来确保Internet安全。更不用说,VPN还可以帮助您匿名浏览Internet。
在本文中,您将学习如何在CentOS / RHEL,Ubuntu和Debian Linux发行版中快速自动地设置自己的IPsec / L2TP VPN服务器。
准备工作:
全新CentOS / RHEL或Ubuntu / Debian VPS主机(虚拟专用服务器)。
一、在Linux中设置IPsec / L2TP VPN服务器
要设置VPN服务器,我们将使用Lin Song创建的精彩的Shell脚本集合,该脚本将Libreswan安装为IPsec服务器,并将xl2tpd安装为L2TP提供程序。该产品还包括用于添加或删除VPN用户,升级VPN安装等的脚本。
首先,通过SSH登录到VPS,然后运行用于分发的适当命令来设置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
将要安装的主要软件包是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和fail2ban(以保护SSH)及其各自的依赖性。然后从源代码下载,编译和安装Libreswan,启用并启动必要的服务。
安装完成后,将显示VPN详细信息,如以下屏幕截图所示。
设置您自己的IPsec VPN Linux服务器
接下来,您需要为具有图形用户界面的台式机或笔记本电脑设置VPN客户端。
要在移动设备(例如Android手机)中添加VPN连接,请转至设置 –> 网络和Internet(或无线和网络 –> 更多)–> 高级 –> VPN。选择选项以添加新的VPN。VPN类型应设置为IPSec Xauth PSK,然后使用上面的VPN网关和凭据。
二、如何在Linux中添加或删除VPN用户
要创建新的VPN用户或使用新密码更新现有的VPN用户,请使用以下wget命令下载并使用add_vpn_user.sh脚本。
$ 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'
三、如何在Linux中升级Libreswan安装
您可以使用vpnupgrade.sh或vpnupgrade_centos.sh脚本升级Libreswan安装。确保在脚本内将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
四、如何在Linux中卸载VPN服务器
要卸载VPN安装,请执行以下操作。
1、在RHEL / CentOS上
# yum remove xl2tpd
然后打开/ etc / sysconfig / iptables配置文件,删除不需要的规则,然后编辑/etc/sysctl.conf和/etc/rc.local文件,并删除两个文件中注释#由hwdsl2 VPN脚本添加的行。
2、在Debian / Ubuntu上
$ sudo apt-get purge xl2tpd
接下来,编辑/etc/iptables.rules配置文件,删除任何不需要的规则。此外,编辑/etc/iptables/rules.v4,如果存在的话,编辑/etc/sysctl.conf和/etc/rc.local文件,删除注释后的一行。
然后编辑/etc/sysctl.conf和/etc/rc.local文件,删除这两个文件中的注释#由hwdsl2 VPN脚本添加的行。如果存在的话,不要删除exit 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