在 Ubuntu/CentOS/Debian 上使用 L2TP 和 Cisco IPsec 设置 IPSec VPN 服务器
您是否一直在努力在短短几分钟内设置自己的 IPsec VPN 服务器,并在 CentOS、Ubuntu 和 Debian Linux 版本上使用 IPsec/L2TP 和 Cisco IPsec?我将向您展示在几分钟内启动并运行 VPN 服务器的最简单方法,您所需要做的就是提供您自己的 VPN 凭据,然后让脚本处理其余的事情。
IPsec VPN 可确保所有网络流量都经过加密,以防止您和 VPN 服务器之间发生任何窃听行为。这是一个强烈推荐的设置,特别是对于使用不安全网络访问互联网的人,例如在机场、咖啡店、酒店房间等。
设置环境
以下操作系统支持此设置
- Ubuntu 20.04、18.04(仿生)、16.04(Xenial)
- Debian 11/Debian 10/Debian 9(延伸)
- CentOS 8/CentOS 7
- 洛基 Linux 8/AlmaLinux 8
- 红帽企业 Linux (RHEL) 8 或 7
- 亚马逊Linux 2
建议使用新安装并更新的服务器。
更新 Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
[ -f /var/run/reboot-required ] && sudo reboot -f
更新 CentOS/Rocky Linux
sudo yum install epel-release && sudo yum -y update
sudo reboot
这将确保您服务器上的所有软件包都是最新的。
在 Ubuntu/CentOS/Debian 上使用 L2TP 和 Cisco IPsec 设置 IPSec VPN 服务器
我们将使用一个脚本,通过 L2TP 和 Cisco IPsec 在 Ubuntu/CentOS/Debian Linux 发行版上简化 IPSec VPN 服务器的部署。该剧本由林松撰写。
在 Ubuntu/Debian 上设置 IPsec VPN 服务器
您应该在运行部署脚本之前更新系统软件包。这是完全自动化的 IPsec VPN 服务器设置,无需用户输入。
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh
在 CentOS 8/7/Rocky Linux 8 上设置 IPsec VPN 服务器
对于 CentOS 服务器,请运行以下命令,以默认参数值下载并安装。
wget https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/vpnsetup_centos.sh -O vpnsetup.sh
sudo sh vpnsetup.sh
您的 VPN 登录详细信息将随机生成并在完成后显示在屏幕上。
使用自定义设置安装
如果您想定义自己的 VPN 凭据,请在执行前编辑 vpnsetup.sh
。
vim vpnsetup.sh
将您的值设置在单引号内
YOUR_IPSEC_PSK=''
YOUR_USERNAME=''
YOUR_PASSWORD=''
运行vpnsetup.sh
sudo vpnsetup.sh
示例输出:
************************** WARNING ***********************************
The ipsec service is currently disabled. To enable this service issue:
systemctl enable ipsec.service
**********************************************************************
../../OBJ.linux.x86_64/testing/enumcheck/enumcheck -> /usr/local/libexec/ipsec/enumcheck
## Creating VPN configuration..
## Updating sysctl settings..
## Updating IPTables rules...
## Enabling services on boot...
## Starting services...
================================================
IPsec VPN server is now ready for use!
Connect to your new VPN with these details:
Server IP: 159.88.127.33
IPsec PSK: EvA6M5wDZw4kbgL8
Username: vpnuser
Password: TNotmZ7EmGyRa2CY
Write these down. You'll need them to connect!
Important notes: https://git.io/vpnnotes
Setup VPN clients: https://git.io/vpnclients
================================================
启用 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 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
... ...
此文件中的密码经过加盐和散列处理。此步骤可以使用例如来完成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
最后一步是连接您的计算机或设备以使用 VPN。请参阅以下指南。
- 配置 IPsec/L2TP VPN 客户端
- 配置 IPsec/XAuth(“Cisco IPsec”)VPN 客户端
- 操作方法:适用于 Windows 7 及更高版本的 IKEv2 VPN
如果您在尝试连接时遇到错误,请参阅问题排查。
您已经在 Ubuntu/CentOS/Debian 上安装了您自己的带有 L2TP 和 Cisco IPsec 的 IPSec VPN 服务器。享受使用它的乐趣。