在移动客户端通过IPsec VPN访问pfSense防火墙配置指南中,我们介绍了使用共享密钥配置IPsec VPN的过程。与预共享密钥相比,采用证书认证配置会相对复杂,但安全性更高。本文将介绍如何使用证书配置IKEv2 IPsec VPN。以下所有配置均基于pfSense plus 22.01。
创建证书
首先,需要在pfSense上创建证书颁发机构(CA)和服务器证书。
创建CA
导航到 系统 > 证书管理,在 CAs 选项卡中点击 + 添加,按以下参数设置:
- 证书来源:创建内部CA
- 信任库:选中
- 随机序列:选中
- 密钥类型:RSA
- 通用名称:如
jxgs - 其他选项如下图所示

创建服务器证书
转到 系统 > 证书管理 > 证书 选项卡,点击 + 添加,设置服务器证书参数:
- 证书来源:创建内部证书
- 描述名称:Server cer
- 证书颁发机构:选择上一步创建的CA
- 密钥类型:RSA
- 通用名称:如
jxgs - 国家代码:CN
- 证书类型:服务器证书
- 替代名称:填写防火墙的FQDN及公网IP地址


IPsec 配置
IPsec配置分为移动客户端、阶段1和阶段2三部分。
移动客户端配置
导航到 VPN > IPsec > 移动客户端 选项卡,进行如下设置:
- 启用 IPsec 移动客户端支持
- 用户认证:本地数据库
- 组认证:选中
- 认证组:System Administrators
- 选中“向客户端提供虚拟IP地址”,注意该地址不能是防火墙上已使用的任何地址
- 选中“DNS服务器”,填入一至两个公共DNS服务器。注意:配合阶段2中将本地网络设为 0.0.0.0/0,客户端连接后将默认通过pfSense出站上网。
- 其他选项保持默认


IPSec 阶段1设置
保存移动客户端配置后,系统会提示创建阶段1配置,参数如下:
- 密钥交换版本:IKEv2
- 认证方法:EAP-TLS
- 本地ID类型:ASN.1专有名称(证书通用名称)
- 远程ID类型:any
- 我的证书:选中前面创建的服务器证书
- 证书颁发机构:选中前面创建的CA
- 加密算法:AES256-GCM、128bits、SHA384、20(nist ecp384)
- 生存时间:28800
- 随机时间:20
- NAT-T:Auto
- MOBIKE:启用
- DPD检测:选中
- 其他选项参照下图


IPSec 阶段2设置
添加阶段2条目,参数如下:
- 模式:IPv4隧道
- 本地网络:
0.0.0.0/0(流量通过防火墙出站);若设为LAN网络则从本地出站 - 密钥交换协议:ESP
- 加密算法:AES256-GCM、128bits
- PFS密钥组:20(nist ecp384)
- 生存时间:3600
- 其他参数保持默认

防火墙规则配置
转到 防火墙 > 规则策略,添加以下规则。
在 IPsec 选项卡上,添加一条 any to any 放行规则:

在 WAN 选项卡上,放行 UDP 500 和 4500 端口:

至此,pfSense上的IPsec VPN配置完成。
导出配置文件
转到 VPN > IPsec Export: Apple Profile(pfSense plus 特有插件,CE版本无此功能)。选择导出参数,服务器地址选防火墙的公网地址。注意:若创建证书时未在替代名称中填写公网IP,此处将不会显示公网地址,会导致配置文件无法正常连接。 设置完成后导出供 iOS 设备使用的配置文件。

手机端设置
将导出的 .mobileconfig 配置文件以邮件附件形式发送到 iPhone 可接收的邮箱,使用邮件程序打开附件并按提示操作。

看到提示后关闭,转到手机的 设置,找到 已下载的描述文件:

点击右上角 安装:

输入手机密码后再次点击 安装:

安装完成界面如下:

安装后,在 VPN 设置中将出现新的连接:

滑动连接按钮即可建立VPN。
连接测试
转到 pfSense 状态 > IPsec,查看VPN连接状态:

在手机端访问防火墙的LAN管理地址,或检查公网出口IP,确认是否已通过pfSense出站。
其他
Windows 10 及以上系统使用 IKEv2 连接时若遇到问题,可参考:
Windows 10和macOS 的安全IKEv2 配置方法
觉得内容不错?我要