江畔悬月
首页 > 技术笔记 > IPsec VPN 服务器一键安装脚本
2024-10
08

IPsec VPN 服务器一键安装脚本

江畔悬月 2024-10-08 21:42:48 0.975 1,227 暂无评论
本文共计2817个字,预计阅读时长10分钟
使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器。支持 IPsec/L2TP, Cisco IPsec 和 IKEv2 协议。

使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器。支持 IPsec/L2TP, Cisco IPsec 和 IKEv2 协议。

项目地址:https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md

安装说明

首先,更新你的服务器:运行 sudo apt-get update && sudo apt-get dist-upgrade (Ubuntu/Debian) 或者 sudo yum update 并重启。这一步是可选的,但推荐。

要安装 VPN,请从以下选项中选择一个:

选项 1: 使用脚本随机生成的 VPN 登录凭证(完成后会显示)。

wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

选项 2: 编辑脚本并提供你自己的 VPN 登录凭证。

wget https://get.vpnsetup.net -O vpn.sh
nano -w vpn.sh
[替换为你自己的值: YOUR_IPSEC_PSK, YOUR_USERNAME 和 YOUR_PASSWORD]
sudo sh vpn.sh

注: 一个安全的 IPsec PSK 应该至少包含 20 个随机字符。

选项 3: 将你自己的 VPN 登录凭证定义为环境变量。

# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='你的IPsec预共享密钥' \
VPN_USER='你的VPN用户名' \
VPN_PASSWORD='你的VPN密码' \
sh vpn.sh
你可以选择在同一台服务器上安装 WireGuard 和/或 OpenVPN。如果你的服务器运行 CentOS Stream, Rocky Linux 或 AlmaLinux,请先安装 OpenVPN/WireGuard,然后安装 IPsec VPN。

管理 VPN 用户

在默认情况下,将只创建一个用于 VPN 登录的用户账户。如果你需要查看或管理 IPsec/L2TP 和 IPsec/XAuth (“Cisco IPsec”) 模式的用户,请阅读本文档。对于 IKEv2,参见 管理 IKEv2 客户端

使用辅助脚本管理 VPN 用户

你可以使用辅助脚本添加,删除或者更新 VPN 用户。它们将同时更新 IPsec/L2TP 和 IPsec/XAuth (“Cisco IPsec”) 模式的用户。对于 IKEv2,参见 管理 IKEv2 客户端

注: 将下面的命令的参数换成你自己的值。VPN 用户信息保存在文件 /etc/ppp/chap-secrets/etc/ipsec.d/passwd。脚本在修改这些文件之前会先做备份,使用 .old-日期-时间 为后缀。

添加或更改一个 VPN 用户

添加一个新 VPN 用户,或者为一个已有的 VPN 用户更改密码。

运行辅助脚本并按提示操作:

sudo addvpnuser.sh

错误:”sudo: addvpnuser.sh: command not found”.

另外,你也可以在添加参数的情况下运行脚本:

# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo addvpnuser.sh '要添加的用户名' '密码'
# 或者
sudo addvpnuser.sh '要更新的用户名' '新密码'

删除一个 VPN 用户

删除指定的 VPN 用户。

运行辅助脚本并按提示操作:

sudo delvpnuser.sh

错误:”sudo: delvpnuser.sh: command not found”.

另外,你也可以在添加参数的情况下运行脚本:

# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo delvpnuser.sh '要删除的用户名'

更新所有的 VPN 用户

移除 所有的 VPN 用户 并替换为你指定的列表中的用户。

首先下载辅助脚本

wget https://get.vpnsetup.net/updateusers -O updateusers.sh

重要: 这个脚本会将你当前 所有的 VPN 用户 移除并替换为你指定的列表中的用户。如果你需要保留已有的 VPN 用户,则必须将它们包含在下面的变量中。

要使用这个脚本,从以下选项中选择一个:

选项 1: 编辑脚本并输入 VPN 用户信息:

nano -w updateusers.sh
[替换为你自己的值: YOUR_USERNAMES 和 YOUR_PASSWORDS]
sudo bash updateusers.sh

选项 2: 将 VPN 用户信息定义为环境变量:

# VPN用户名和密码列表,用空格分隔
# 所有变量值必须用 '单引号' 括起来
# *不要* 在值中使用这些字符:  \ " '
sudo \
VPN_USERS='用户名1 用户名2 ...' \
VPN_PASSWORDS='密码1 密码2 ...' \
bash updateusers.sh

查看 VPN 用户

在默认情况下,VPN 安装脚本将为 IPsec/L2TP 和 IPsec/XAuth (“Cisco IPsec”) 模式创建相同的用户。

对于 IPsec/L2TP,VPN 用户信息保存在文件 /etc/ppp/chap-secrets。该文件的格式如下:

"用户名1"  l2tpd  "密码1"  *
"用户名2"  l2tpd  "密码2"  *
... ...

对于 IPsec/XAuth (“Cisco IPsec”),VPN 用户信息保存在文件 /etc/ipsec.d/passwd。这个文件中的密码以加盐哈希值的形式保存。更多详情请见 手动管理 VPN 用户

查看或更改 IPsec PSK

IPsec PSK(预共享密钥)保存在文件 /etc/ipsec.secrets。所有的 VPN 用户将共享同一个 IPsec PSK。该文件的格式如下:

%any  %any  : PSK "你的IPsec预共享密钥"

如果要更换一个新的 PSK,可以编辑此文件。不要在值中使用这些字符:\ " '

完成后必须重启服务:

service ipsec restart
service xl2tpd restart

手动管理 VPN 用户

对于 IPsec/L2TP,VPN 用户信息保存在文件 /etc/ppp/chap-secrets。该文件的格式如下:

"用户名1"  l2tpd  "密码1"  *
"用户名2"  l2tpd  "密码2"  *
... ...

你可以添加更多用户,每个用户对应文件中的一行。不要在值中使用这些字符:\ " '

对于 IPsec/XAuth (“Cisco IPsec”),VPN 用户信息保存在文件 /etc/ipsec.d/passwd。该文件的格式如下:

用户名1:密码1的加盐哈希值:xauth-psk
用户名2:密码2的加盐哈希值:xauth-psk
... ...

这个文件中的密码以加盐哈希值的形式保存。该步骤可以借助比如 openssl 工具来完成:

# 以下命令的输出为:密码1的加盐哈希值
# 将你的密码用 '单引号' 括起来
openssl passwd -1 '密码1'
下一篇:没有了

评论列表

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注