翻墙教程 · 2023年5月11日

IPsec VPN 服务器一键安装脚本

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

IPsec VPN 可以加密你的网络流量,以防止在通过因特网传送时,你和 VPN 服务器之间的任何人对你的数据的未经授权的访问。在使用不安全的网络时,这是特别有用的,例如在咖啡厅,机场或旅馆房间。

zh-cn_image_0295711246

我们将使用 Libreswan 作为 IPsec 服务器,以及 xl2tpd 作为 L2TP 提供者。

转自hwdsl2,原作者地址 https://github.com/hwdsl2

里面有setup-ipsec-vpn,也有docker版本都可以下载

快速开始:

首先,在你的linux服务器上全新安装Ubuntu,Debian或者CentOS.

使用以下命令快速搭建 IPsec VPN 服务器:

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

你的 VPN 登录凭证将会被自动随机生成,并在安装完成后显示。

装成功后,你可以在同一台服务器上安装 OpenVPN 和/或 WireGuard。这是可选的。

功能特性

  • 全自动的 IPsec VPN 服务器配置,无需用户输入
  • 支持具有强大和快速加密算法(例如 AES-GCM)的 IKEv2 模式
  • 生成 VPN 配置文件以自动配置 iOS, macOS 和 Android 设备
  • 支持 Windows, macOS, iOS, Android 和 Linux 作为 VPN 客户端
  • 包括辅助脚本以管理 VPN 用户和证书

系统要求

一个云服务器,虚拟专用服务器 (VPS) 或者专用服务器,全新安装以下操作系统之一:

  • Ubuntu 22.04, 20.04 或者 18.04
  • Debian 11*, 10* 或者 9
  • CentOS 7 或者 CentOS Stream 8**
  • Rocky Linux 或者 AlmaLinux 8
  • Oracle Linux 8 或者 7
  • Red Hat Enterprise Linux (RHEL) 8 或者 7
  • Amazon Linux 2
  • Alpine Linux 3.15 或者 3.14

注:防火墙需要开通UDP端口500,4500,不然外网访问不了

卸载 VPN

要卸载 IPsec VPN,运行辅助脚本

警告: 此辅助脚本将从你的服务器中删除 IPsec VPN。所有的 VPN 配置将被永久删除,并且 Libreswan 和 xl2tpd 将被移除。此操作不可撤销

wget https://get.vpnsetup.net/unst -O vpnunst.sh && sudo bash vpnunst.sh

管理VPN用户

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

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

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

查看或更改 IPsec PSK

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

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

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

完成后必须重启服务:

service ipsec restart
service xl2tpd restart

 

配置 IPsec/L2TP VPN 客户端

Windows 11

  1. 右键单击系统托盘中的无线/网络图标。
  2. 选择 网络和 Internet 设置,然后在打开的页面中单击 VPN
  3. 单击 添加 VPN 按钮。
  4. 从 VPN 提供商 下拉菜单选择 Windows (内置)
  5. 在 连接名称 字段中输入任意内容。
  6. 在 服务器名称或地址 字段中输入你的 VPN 服务器 IP
  7. 从 VPN 类型 下拉菜单选择 使用预共享密钥的 L2TP/IPsec
  8. 在 预共享密钥 字段中输入你的 VPN IPsec PSK
  9. 在 用户名 字段中输入你的 VPN 用户名
  10. 在 密码 字段中输入你的 VPN 密码
  11. 选中 记住我的登录信息 复选框。
  12. 单击 保存 保存 VPN 连接的详细信息。

注: 在首次连接之前需要修改一次注册表,以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。

要连接到 VPN:单击 连接 按钮,或者单击系统托盘中的无线/网络图标,单击 VPN,然后选择新的 VPN 连接并单击 连接。如果出现提示,在登录窗口中输入 你的 VPN 用户名 和 密码 ,并单击 确定。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

Windows 10 and 8

  1. 右键单击系统托盘中的无线/网络图标。
  2. 选择 打开”网络和 Internet”设置,然后在打开的页面中单击 网络和共享中心
  3. 单击 设置新的连接或网络
  4. 选择 连接到工作区,然后单击 下一步
  5. 单击 使用我的Internet连接 (VPN)
  6. 在 Internet地址 字段中输入你的 VPN 服务器 IP
  7. 在 目标名称 字段中输入任意内容。单击 创建
  8. 返回 网络和共享中心。单击左侧的 更改适配器设置
  9. 右键单击新创建的 VPN 连接,并选择 属性
  10. 单击 安全 选项卡,从 VPN 类型 下拉菜单中选择 “使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)”。
  11. 单击 允许使用这些协议。选中 “质询握手身份验证协议 (CHAP)” 和 “Microsoft CHAP 版本 2 (MS-CHAP v2)” 复选框。
  12. 单击 高级设置 按钮。
  13. 单击 使用预共享密钥作身份验证 并在 密钥 字段中输入你的 VPN IPsec PSK
  14. 单击 确定 关闭 高级设置
  15. 单击 确定 保存 VPN 连接的详细信息。

注: 在首次连接之前需要修改一次注册表,以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。

本地注册表文件下载

要连接到 VPN:单击系统托盘中的无线/网络图标,选择新的 VPN 连接,然后单击 连接。如果出现提示,在登录窗口中输入 你的 VPN 用户名 和 密码 ,并单击 确定。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

另外,除了按照以上步骤操作,你也可以运行下面的 Windows PowerShell 命令来创建 VPN 连接。将 你的 VPN 服务器 IP 和 你的 VPN IPsec PSK 换成你自己的值,用单引号括起来:

# 不保存命令行历史记录
Set-PSReadlineOption –HistorySaveStyle SaveNothing
# 创建 VPN 连接
Add-VpnConnection -Name 'My IPsec VPN' -ServerAddress '你的 VPN 服务器 IP' -L2tpPsk '你的 VPN IPsec PSK' -TunnelType L2tp -EncryptionLevel Required -AuthenticationMethod Chap,MSChapv2 -Force -RememberCredential -PassThru
# 忽略 data encryption 警告(数据在 IPsec 隧道中已被加密)

OS X

  1. 打开系统偏好设置并转到网络部分。
  2. 在窗口左下角单击 + 按钮。
  3. 从 接口 下拉菜单选择 VPN
  4. 从 VPN类型 下拉菜单选择 IPSec 上的 L2TP
  5. 在 服务名称 字段中输入任意内容。
  6. 单击 创建
  7. 在 服务器地址 字段中输入你的 VPN 服务器 IP
  8. 在 帐户名称 字段中输入你的 VPN 用户名
  9. 单击 认证设置 按钮。
  10. 在 用户认证 部分,选择 密码 单选按钮,然后输入你的 VPN 密码
  11. 在 机器认证 部分,选择 共享的密钥 单选按钮,然后输入你的 VPN IPsec PSK
  12. 保持 群组名称 字段空白。
  13. 单击 
  14. 选中 在菜单栏中显示 VPN 状态 复选框。
  15. (重要) 单击 高级 按钮,并选中 通过VPN连接发送所有通信 复选框。
  16. (重要) 单击 TCP/IP 选项卡,并在 配置IPv6 部分中选择 仅本地链接
  17. 单击  关闭高级设置,然后单击 应用 保存VPN连接信息。

要连接到 VPN:使用菜单栏中的图标,或者打开系统偏好设置的网络部分,选择 VPN 并单击 连接。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

Android

  1. 启动 设置 应用程序。
  2. 单击 网络和互联网。或者,如果你使用 Android 7 或更早版本,在 无线和网络 部分单击 更多…
  3. 单击 VPN
  4. 单击 添加VPN配置文件 或窗口右上角的 +
  5. 在 名称 字段中输入任意内容。
  6. 在 类型 下拉菜单选择 L2TP/IPSec PSK
  7. 在 服务器地址 字段中输入你的 VPN 服务器 IP
  8. 保持 L2TP 密钥 字段空白。
  9. 保持 IPSec 标识符 字段空白。
  10. 在 IPSec 预共享密钥 字段中输入你的 VPN IPsec PSK
  11. 单击 保存
  12. 单击新的VPN连接。
  13. 在 用户名 字段中输入你的 VPN 用户名
  14. 在 密码 字段中输入你的 VPN 密码
  15. 选中 保存帐户信息 复选框。
  16. 单击 连接

VPN 连接成功后,会在通知栏显示图标。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

iOS

  1. 进入设置 -> 通用 -> VPN。
  2. 单击 添加VPN配置…
  3. 单击 类型 。选择 L2TP 并返回。
  4. 在 描述 字段中输入任意内容。
  5. 在 服务器 字段中输入你的 VPN 服务器 IP
  6. 在 帐户 字段中输入你的 VPN 用户名
  7. 在 密码 字段中输入你的 VPN 密码
  8. 在 密钥 字段中输入你的 VPN IPsec PSK
  9. 启用 发送所有流量 选项。
  10. 单击右上角的 完成
  11. 启用 VPN 连接。

VPN 连接成功后,会在通知栏显示图标。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

Chromebook

  1. 如果你尚未登录 Chromebook,请先登录。
  2. 单击状态区(其中显示你的帐户头像)。
  3. 单击 设置
  4. 在 互联网连接 部分,单击 添加连接
  5. 单击 添加 OpenVPN / L2TP
  6. 在 服务器主机名 字段中输入你的 VPN 服务器 IP
  7. 在 服务名称 字段中输入任意内容。
  8. 在 供应商类型 下拉菜单选择 L2TP/IPsec + 预共享密钥
  9. 在 预共享密钥 字段中输入你的 VPN IPsec PSK
  10. 在 用户名 字段中输入你的 VPN 用户名
  11. 在 密码 字段中输入你的 VPN 密码
  12. 单击 连接

VPN 连接成功后,网络状态图标上会出现 VPN 指示。最后你可以到 这里 检测你的 IP 地址,应该显示为你的 VPN 服务器 IP

Linux

Ubuntu 18.04 和更新版本用户可以使用 apt 安装 network-manager-l2tp-gnome 软件包,然后通过 GUI 配置 IPsec/L2TP VPN 客户端。

  1. 进入 Settings -> Network -> VPN。单击 + 按钮。
  2. 选择 Layer 2 Tunneling Protocol (L2TP)
  3. 在 Name 字段中输入任意内容。
  4. 在 Gateway 字段中输入你的 VPN 服务器 IP
  5. 在 User name 字段中输入你的 VPN 用户名
  6. 右键单击 Password 字段中的 ?,选择 Store the password only for this user
  7. 在 Password 字段中输入你的 VPN 密码
  8. 保持 NT Domain 字段空白。
  9. 单击 IPsec Settings… 按钮。
  10. 选中 Enable IPsec tunnel to L2TP host 复选框。
  11. 保持 Gateway ID 字段空白。
  12. 在 Pre-shared key 字段中输入你的 VPN IPsec PSK
  13. 展开 Advanced 部分。
  14. 在 Phase1 Algorithms 字段中输入 aes128-sha1-modp2048
  15. 在 Phase2 Algorithms 字段中输入 aes128-sha1
  16. 单击 OK,然后单击 Add 保存 VPN 连接信息。
  17. 启用 VPN 连接。