云网牛站
所在位置:首页 > Linux教程 > Ubuntu/CentOS/Debian上使用L2TP和Cisco IPsec设置IPSec VPN的方法

Ubuntu/CentOS/Debian上使用L2TP和Cisco IPsec设置IPSec VPN的方法

2019-02-10 10:15:46作者:戴进稿源:云网牛站

本文介绍使用L2TP和Cisco IPsec设置IPSec VPN server的方法,该方法可用在Ubuntu 18.04 (Bionic)、16.04 (Xenial)、14.04 (Trusty)、Debian 9 (Stretch)、8 (Jessie)、CentOS 7 (x86_64)、CentOS 6 (x86_64)操作系统上。

 

一、更新系统

1、更新Ubuntu/Debian系统:

sudo apt update

sudo apt upgrade

sudo apt dist-upgrade

sudo reboot

2、更新CentOS 7/CentOS 6系统:

sudo yum install epel-release

sudo yum -y update

sudo reboot

运行以下命令后可确保服务器上的所有软件包都是最新的。

 

在Ubuntu/CentOS/Debian上使用L2TP和Cisco IPsec设置IPSec VPN服务器

我们将使用一个脚本,简化在Ubuntu/CentOS/Debian Linux发行版上使用L2TP和Cisco IPsec部署IPSec VPN服务器的过程。

1、在Ubuntu 18.04/Ubuntu 16.04/Debian上设置IPsec VPN服务器

你应该在运行部署脚本之前更新系统软件包,这是一个完全自动化的IPsec VPN服务器设置,无需用户输入:

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

2、在CentOS 7/CentOS 6上设置IPsec VPN服务器

对于CentOS服务器,请改为运行以下命令:

wget https://git.io/vpnsetup-centos -O vpnsetup.sh && sudo sh vpnsetup.sh

完成后,你的VPN登录详细信息将随机生成并显示在屏幕上,如果要定义自己的VPN帐户,请在执行前编辑vpnsetup.sh:

sudo vim vpnsetup.sh

将值设置在单引号内:

YOUR_IPSEC_PSK=''

YOUR_USERNAME=''

YOUR_PASSWORD=''

运行vpnsetup.sh:

sudo vpnsetup.sh

样本输出,如下图:

Ubuntu/CentOS/Debian上使用L2TP和Cisco IPsec设置IPSec VPN的方法

启用ipsec服务以在启动时启动:

sudo systemctl enable ipsec

此部署包括sysctl.conf优化以提高性能:

# Added by hwdsl2 VPN script

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

net.ipv4.ip_forward = 1

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.eth0.send_redirects = 0

net.ipv4.conf.eth0.rp_filter = 0

net.core.wmem_max = 12582912

net.core.rmem_max = 12582912

net.ipv4.tcp_rmem = 10240 87380 12582912

net.ipv4.tcp_wmem = 10240 87380 12582912

所有VPN流量都封装在UDP中,不需要ESP协议。

 

管理VPN用户

默认情况下,会创建VPN登录的单个用户帐户。

IPsec PSK(预共享密钥)存储在./etc/ipsec.secrets中,所有VPN用户共享相同的IPsec PSK,你可以通过更改行来设置新的:

%any %any : PSK "your_new_ipsec_pre_shared_key"

对于IPsec/L2TP,VPN用户在/etc/ppp/chap-secrets中指定,该文件的格式为:

"your_vpn_username_1" l2tpd "your_vpn_password_1" *

"your_vpn_username_2" l2tpd "your_vpn_password_2" *

对于IPsec/XAuth(“Cisco IPsec”),VPN用户在/etc/ipsec.d/passwd中指定,该文件的格式为:

your_vpn_username_1:your_vpn_password_1_hashed:xauth-psk

your_vpn_username_2:your_vpn_password_2_hashed:xauth-psk

... ...

此文件中的密码是hashed,该步骤可以使用例如openssl实用程序:

# The output will be your_vpn_password_1_hashed

openssl passwd -1 'your_vpn_password_1'

最后,如果你更改为新的PSK,请重新启动服务,要添加,编辑或删除VPN用户,通常不需要重新启动:

sudo service ipsec restart || sudo systemctl restart ipsec

sudo service xl2tpd restart || sudo systemctl restart xl2tpd

最后将计算机连接到VPN,可以参考在Deepin Linux系统中L2TP/IPSec的连接方法

 

相关主题

蒲公英VPN客户端 for Linux(路由器软件),附安装教程

精选文章
热门文章