IPSec 是一组用于在网络上提供安全连接的通信协议。短语“IPsec”是“IP”与“security”的缩写,其中“IP”代表互联网协议,“sec”代表安全。互联网协议是管理互联网数据传输的通用标准,IPSec 通过引入加密和身份验证来增强协议的安全性,通常用于虚拟专用网络(VPN)。
OPNsense 可以为分支机构和远程用户提供 VPN 连接。只需通过 OPNsense Web 用户界面,就能轻松设置一个安全专用网络,将多个分支机构连接到中心站点。还可以为远程用户生成和吊销证书,用户友好的导出工具能简化客户端配置过程。
站点到站点 VPN 隧道使用静态公网 IP 地址连接两个地点,并在各自的网络之间路由流量。它常用于连接组织的分支机构与总部,让分支机构用户能够访问总部网络中的资源。
本教程将演示如何在 OPNsense 防火墙上配置 IPsec 站点到站点 VPN 隧道。
网络拓扑
本教程使用的网络拓扑如下:

为了允许 IPsec 隧道连接,必须在两个站点的 WAN 接口上开放以下三个端口和协议:
- 端口 4500 上的 UDP 流量(NAT-T)
- 端口 500 上的 UDP 流量(ISAKMP)
- ESP 协议
通用设置
在 SiteA 和 SiteB 的两个 OPNsense 防火墙上添加这三条防火墙规则后,单击“应用更改”按钮激活新设置。

站点 A 设置
站点 A 的 IPsec 阶段1 常规设置如下图所示:

站点 A 阶段1 提案(认证)部分设置如下图所示:

站点 A 阶段1 提案(算法)部分设置如下图所示:

站点 A 阶段1 高级选项部分设置如下图所示:

单击阶段1条目右侧的按钮添加阶段2条目:

站点 A 阶段2 常规部分设置如下图所示:

站点 A 阶段2 提案及高级选项部分设置如下图所示:

按照以下步骤在站点 A 上快速启用 IPsec 服务:
- 导航到 VPN → IPSec → 隧道设置。
- 选中页面底部的“启用 IPsec”选项。
- 单击页面右上角的“应用更改”按钮,激活 IPsec 隧道设置。

站点 B 设置
站点 B 的 IPsec 阶段1 设置,除了“常规”选项中的远程网关需要填写站点 A 的公网 IP 外,其他部分可参照站点 A 进行配置。

站点 B 的阶段2 设置,除了远程网络地址需要填写站点 A 的局域网网段外,其他部分参照站点 A 配置即可。

同样,参照站点 A 的操作,在站点 B 上快速启用 IPsec 服务。
添加防火墙规则
在两个站点上,分别添加允许隧道流量访问的防火墙规则。导航到 防火墙 → 规则 → IPsec 接口,添加一条允许流量访问 LAN net 的规则。

查看隧道状态
要查看当前 IPsec VPN 隧道的状态,可以导航到 VPN → IPsec → 状态总览。

如果隧道没有出现在状态列表中,可以尝试在两个站点上重新启动 IPsec 服务。
提升隧道性能
根据负载类型(单流或多流 IPsec),启用 IPsec 上的多线程加密模式有助于提升隧道性能。该模式会将加密数据包分配到多个处理器核心,当仅使用一个隧道时,性能提升尤为明显。可以导航至系统 → 设置 → 可调参数,添加或修改以下参数:
net.inet.ipsec.async_crypto = 1
觉得内容不错?我要