帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Linux中创建自己的IPsec VPN服务器

如何在Linux中创建自己的IPsec VPN服务器

发布时间:2020年04月15日 08:35:24    来源: A5互联

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