服务热线
1888888888
作者:文煞发布时间:2025-02-16分类:站长笔记浏览:24
IPsec VPN 服务器一键安装脚本
使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器。支持 IPsec/L2TP, Cisco IPsec 和 IKEv2 协议。你只需提供自己的 VPN 登录凭证,然后运行脚本自动完成安装。
IPsec VPN 可以加密你的网络流量,以防止在通过因特网传送时,你和 VPN 服务器之间的任何人对你的数据的未经授权的访问。在使用不安全的网络时,这是特别有用的,例如在咖啡厅,机场或旅馆房间。
我们将使用 Libreswan 作为 IPsec 服务器,以及 xl2tpd 作为 L2TP 提供者。
快速使用
首先,在你的 Linux 服务器* 上全新安装以下系统之一:
Ubuntu, Debian, CentOS/RHEL, Rocky Linux, AlmaLinux, Amazon Linux 2 或者 Alpine Linux
使用以下命令快速搭建 IPsec VPN 服务器:
1. 脚本安装
搭建方式1:
wget https://git.io/vpnstart -qO vpn.sh && sudo sh vpn.sh
搭建方式2:
你也可以使用 curl 下载再执行:
curl -fsSL https://git.io/vpnstart -o vpn.sh && sudo sh vpn.sh
你的 VPN 登录凭证将会被自动随机生成,并在安装完成后显示在屏幕上。
2. docker镜像安装
另外,你也可以使用预构建的 Docker 镜像。
docker部署:
docker run \ --name ipsec-vpn-server \ --restart=always \ -v ikev2-vpn-data:/etc/ipsec.d \ -v /lib/modules:/lib/modules:ro \ -p 500:500/udp \ -p 4500:4500/udp \ -d --privileged \ hwdsl2/ipsec-vpn-server
如果你在上述 docker run 命令中没有指定 env 文件,VPN_USER 会默认为 vpnuser,并且 VPN_IPSEC_PSK 和 VPN_PASSWORD 会被自动随机生成。要获取这些登录信息,可以查看容器的日志:
]# docker logs ipsec-vpn-server
在命令输出中查找这些行:
Connect to your new VPN with these details: Server IP: 你的VPN服务器IPIPsec PSK: 你的IPsec预共享密钥Username: 你的VPN用户名Password: 你的VPN密码
在命令输出中也会包含 IKEv2 配置信息(如果启用)。要开始使用 IKEv2,请参见 配置并使用 IKEv2 VPN。
[可选步骤] 备份自动生成的 VPN 登录信息(如果有)到当前目录:
docker cp ipsec-vpn-server:/etc/ipsec.d/vpn-gen.env ./
功能特性
- 新: 增加支持更高效的 IPsec/XAuth ("Cisco IPsec") 和 IKEv2 模式
- 新: 现在可以下载 VPN 服务器的预构建 Docker 镜像
- 全自动的 IPsec VPN 服务器配置,无需用户输入
- 封装所有的 VPN 流量在 UDP 协议,不需要 ESP 协议支持
- 可直接作为 Amazon EC2 实例创建时的用户数据使用
- 包含 sysctl.conf 优化设置,以达到更佳的传输性能
系统要求
一个专用服务器或者虚拟专用服务器 (VPS),全新安装以下操作系统之一:
- Ubuntu 20.04 或者 18.04
- Debian 11*, 10* 或者 9
- CentOS 7, Rocky Linux 8 或者 AlmaLinux 8**
- Red Hat Enterprise Linux (RHEL) 8 或者 7
- Amazon Linux 2
- Alpine Linux 3.15 或者 3.14
这也包括各种公共云服务中的 Linux 虚拟机,比如 DigitalOcean, Vultr, Linode, Microsoft Azure 和 OVH。Amazon EC2 用户可以使用 CloudFormation 或者 用户数据 快速部署。
安装选项:
选项 1: 使用脚本随机生成的 VPN 登录凭证(完成后会在屏幕上显示):wget https://git.io/vpnsetup -qO vpn.sh && sudo sh vpn.sh 选项 2: 编辑脚本并提供你自己的 VPN 登录凭证。wget https://git.io/vpnsetup -nv -O vpn.shnano -w vpn.sh[替换为你自己的值: YOUR_IPSEC_PSK, YOUR_USERNAME 和 YOUR_PASSWORD]sudo sh vpn.sh
在安装成功之后,推荐 配置 IKEv2:
# 使用默认选项配置 IKEv2
sudo ikev2.sh --auto# 或者你也可以自定义 IKEv2 选项
sudo ikev2.sh
选项3:
将你自己的 VPN 登录凭证定义为环境变量。# 所有变量值必须用 '单引号' 括起来# *不要* 在值中使用这些字符: \ " ' wget https://git.io/vpnsetup -nv -O vpn.shsudo VPN_IPSEC_PSK='你的IPsec预共享密钥' \VPN_USER='你的VPN用户名' \VPN_PASSWORD='你的VPN密码' \sh vpn.sh 在安装成功之后,依然推荐 配置 IKEv2选项:# 1.使用默认选项配置 IKEv2sudo ikev2.sh --auto # 2.或者你也可以自定义 IKEv2 选项sudo ikev2.sh
备选方案
如果无法通过wget下载,点这里查看解决方案,你也可以使用curl下载。
例如:
curl -fsSL https://git.io/vpnsetup -o vpn.sh sudo sh vpn.sh
参考连接: https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md
用户管理
查看或更改 IPsec PSK:
IPsec PSK(预共享密钥)保存在文件 /etc/ipsec.secrets。所有的 VPN 用户将共享同一个 IPsec PSK。该文件的格式如下:
%any %any : PSK "你的IPsec预共享密钥"
1.服务器启停
如果要更换一个新的 PSK,可以编辑此文件。不要在值中使用这些字符:\ " '
更换完成后重启服务:
service ipsec restart
service xl2tpd restart
2.查看 VPN 用户:
cat /etc/ppp/chap-secrets
cat /etc/ipsec.d/passwd # 这个文件中的密码以加盐哈希值的形式保存。该步骤可以借助比如 openssl 工具来完成:
# 以下命令的输出为:密码1的加盐哈希值
# 将你的密码用 '单引号' 括起来
openssl passwd -1 '密码1'
wget -nv -O add_vpn_user.sh https://bit.ly/addvpnuser
sudo bash add_vpn_user.sh '要添加的用户名' '密码'
# 或者
更新用户:
sudo bash add_vpn_user.sh '要更新的用户名' '新密码'
4.删除一个 VPN 用户
# 下载脚本
wget -nv -O del_vpn_user.sh https://bit.ly/delvpnuser # 运行脚本并按提示操作
删除用户:
sudo bash del_vpn_user.sh '要删除的用户名'
分享:
支付宝
微信