For the complete documentation index, see llms.txt. This page is also available as Markdown.

IPsec 配置

分步说明如何在 VergeOS 网络与第三方 IPsec 对等端之间配置 IPsec VPN 隧道,包括 Phase 1、Phase 2 和防火墙规则设置。

VergeOS 包含 IPsec 兼容性,允许在 VergeOS 网络与第三方 IPsec 对端之间配置 VPN 隧道。

使用 IPsec

IPsec 功能适用于有特定 IPsec 需求的场景。建议在可行时改用 WireGuard。WireGuard 比 IPsec 性能更好,而且由于其配置更简单,因此不太容易因意外的安全配置错误而产生漏洞。

本文档提供了将 VergeOS 配置为 IPsec 对端的一般分步说明。具体示例配置链接位于本页底部。

高级步骤

  • 创建一个 VPN 网络 并在必要时编辑 IPsec 配置

  • 创建一个 阶段 1 配置

  • 创建一个 阶段 2 配置

  • 配置 防火墙和路由规则

创建 VPN 网络

  1. 导航到 网络 > + 新建 VPN.

  2. 配置网络字段。

    • 二层类型:

    • IP 地址类型: 静态

    • IP 地址: VPN 路由器地址

    • 网络地址: 此对端的本地网络范围

    • 接口网络:

    • --无-- 创建一个独立的 VPN 网络,其中与其他 VergeOS 网络的连接都通过三层路由处理。(推荐方法)

    • 选择一个现有网络 通过二层将 VPN 网络直接附加到该网络。

有关其他网络字段的信息可见: 内部网络常规说明

编辑 IPsec 配置(如有必要)

通用 IPsec 设置已设为常见默认值。如有需要,可从以下位置修改这些设置: VPN 网络控制面板,单击 编辑 IPsec 左侧菜单中的。

请查阅您的第三方 IPsec 提供商文档和/或通用文档资源,例如 NIST 提供的资源,以了解各个 IPsec 设置、不同选择的潜在权衡以及安全最佳实践。

  • 配置模式

    • normal(默认) - 此选项通常会使用,并包含常见的 IPsec 字段

    • advanced - 通过使用配置(conf)文件,允许进行广泛或非标准的 IPsec 配置

  • 唯一 ID

    • 是(默认) - 保持特定参与者 ID 的唯一性。(也称为 替换 选项)

    • 从不 - 将忽略 INITIAL_CONTACT 通知,且不会替换旧的 IKE_SA

    • - 仅在收到 INITIAL_CONTACT 通知时替换 IKE_SA。

  • 建议协商 IPComp 压缩(默认禁用): 利用一种专门设计用于压缩 IP 数据包负载的特殊协议;远端对等方必须支持它。当传输的数据可压缩性很高时,这种压缩可能会有帮助;不过,它也会引入计算开销。通常还需要额外的防火墙规则来处理 IPIP 流量。

  • 排除我的网络: 此设置通常应启用。

  • Cisco 扩展: 除非特别需要支持远端 IPsec 对端的配置,否则此设置应保持禁用。

  • IKEv1 主模式中的未加密 ID 和 HASH 负载(默认=禁用): 建议禁用,因为 IKEv1 主模式在初始交换期间传输未加密的 ID 和 HASH 负载,会引入若干安全漏洞。

  • MSS 钳制(默认=0/禁用): 在某些情况下,MSS 钳制可以提高 IPsec 隧道中的性能。不过,准确计算和设置 MSS 至关重要,因为错误的设置可能导致性能不佳和/或数据包丢失。

  • 严格 CRL 策略(默认=否): IPsec 中的严格 CRL(证书吊销列表)策略规定,已吊销的证书在身份验证期间不被接受。

  • 先建后拆(默认禁用): 在旧的 SA 仍处于活动状态时建立新的 SA;当新的 SA 准备就绪后移除旧的 SA。

创建阶段 1 配置

  1. VPN 网络控制面板,单击 IPsec 隧道 > 新建.

  2. 输入一个 名称 以及可选的 描述 用于阶段 1。

  3. 配置 密钥交换版本

  • 自动 - 使用远端对等方发起的版本(IKEv1 或 IKEv2)

  • IKEv1

  • IKEv2

  1. 输入 远端网关地址: (必填)另一端 IPsec 对等方的 WAN 地址。

  2. 配置 阶段 1 加密设置

    • 算法(默认 AES)

    • 密钥长度、哈希和 DH 组设置 (可选项将根据所选算法而变化)。

    • 生存期/单位 - SA 的自动过期设置(默认:3 小时)

注意:某些算法不提供强安全性,因此不建议使用,例如 Blowfish、3DES、CAST128、MD5、SHA1、DH 组 1、2、22、23、24

  1. 配置 阶段 1 提议(身份验证)设置

  • 预共享密钥: 可以手动输入,也可以使用生成按钮创建一个随机、安全的预共享密钥值。

  • 协商模式:

    • 主模式 - 默认,推荐模式

    • 激进模式 - 比主模式更不安全,但提供更高的灵活性

  • 标识符: 在 IKE 协商期间向远端对等方呈现的身份。留空时,将使用当前 IP。通常应输入该 IPsec 对等方的 WAN 地址,因为这是访问远端对等方时识别的源地址。

  • 对等方标识符: 期望从远端对等方获得的身份;通常可留空,以使用当前指定为 VPN 远端网关的地址。

  1. 配置 阶段 1 高级选项

  • 连接行为 定义 IPsec 启动时要发生的行为:

    • 仅响应方 - 加载连接但不启动。

    • 按需 - 加载连接,并在检测到网络之间有流量时启动它

    • 启动 - 立即加载并启动连接

  • 强制 UDP 封装 (默认=禁用)- 启用后,即使未检测到 NAT 也会强制使用 UDP 封装。

  • 密钥尝试次数: 在放弃前尝试协商连接或其替代连接的次数。值 0 表示永不放弃;此设置仅在本地有效,因此另一端不需要具有相同的设置。

  • 重新密钥: (默认=启用)可禁用/关闭,以防止本地发起对即将过期的连接进行重新协商;但是,它不会影响来自另一对等方的重新协商请求。

  • 边际时间: 定义在过期的密钥通道/连接进行替代协商之前所经过的时间长度;此设置仅在本地有效,因此另一端不需要具有相同的设置。

  • 死对端检测: 定义超时后要执行的默认操作:

    • 清除 - 关闭连接

    • 保持 - 监视新流量,如果检测到网络间有流量,则重新协商连接。

    • 重启(默认) - 尝试立即重新协商连接

    • - 禁止发送 DPD 消息

  • DPD 延迟: (默认=30 秒)定义发送给对端的 R_U_There 消息/INFORMATIONAL 交换的时间间隔,这些消息仅在没有其他流量时发送。

  • DPD 失败次数: 定义在不活动后自动删除对端连接的最大失败次数(此设置不适用于 IKEv2)。

如有必要,可添加额外的阶段 1 定义。从 VPN 网络控制面板: IPsec 隧道 > 新建

创建阶段 2 配置

必须创建阶段 2 配置,才能建立可工作的 IPsec 连接。

  1. VPN 网络控制面板,单击 IPsec 隧道 在左侧菜单中;双击相应的阶段 1 进入该阶段 1 控制面板;点击 新建 左侧菜单中的。

  2. 输入一个 名称可选描述 用于新的阶段 2 配置。

  3. 选择一个 模式:

    • 隧道 (默认)- 站点到站点 VPN 的推荐方法;发送两个 IP 头,原始数据包被封装。

    • 传输 - 仅加密有效载荷和 ESP 尾部。

  4. 指定 本地网络: (必填)此侧 VPN 中要包含的 IP 地址子网,例如 192.168.0.0/24。

  5. 指定 远端网络: 远端对等方的网络,采用 CIDR 格式,例如 50.x.x.x/28。

  6. 选择一个 协议:

    • ESP (推荐)

    • AH (仅认证)

  7. 请指定 生存期 以单位(秒、分钟、小时、天、年)计,或 永久 用于在阶段 2 期间建立的 SA 的持续时间。

  8. 选择加密 算法密钥长度、哈希和 DH 组 设置。

  9. 单击 提交 以保存阶段 2 配置。

配置防火墙和路由规则

IPsec 流量需要网络配置。新建 VPN 网络会自动创建以下网络规则:

  • 允许入站 IKE UDP 500

  • 允许入站 IPsec NAT 穿越 4500

  • 允许入站 ESP

  • 允许入站 AH

根据具体的网络和 IPsec 设计,还需要额外的网络配置(例如防火墙规则、路由)。请参阅下面包含网络规则配置的具体 IPsec 示例链接。

从 VergeOS 端发起 VPN 隧道

  1. VPN 网络控制面板,单击 开机 左侧菜单中的。

  2. 点击下方的插头图标 IPsec 连接.

IPsec 连接按钮
  1. 观察 IPsec 状态显示为已连接。

IPsec 示例配置

以下提供可供参考的 IPsec 示例配置:

故障排除提示

验证各对端之间的相互/兼容设置

IPsec 对配置不匹配非常敏感。大多数设置都需要连接两端精确一致。请查阅非 VergeOS IPsec 对端的文档,并确保两端所有参数都严格匹配。

VPN 网络容器日志

可从 VPN 网络控制面板访问网络容器日志: 诊断 > 诊断查询: 日志 这些日志通常包含有用的故障排除信息,例如 IPsec 错误消息、源地址和目标地址等。

跟踪网络流量

跟踪 VPN 网络以及相关外部和内部网络上的流量,通常有助于排查问题,例如通过识别隧道流量是否到达某个网络、识别数据包的源和目标地址等。 诊断 > 诊断查询: TCP 抓包网络诊断指南 提供了使用网络诊断工具的参考。

最后更新于

这有帮助吗?