在​​移动客户端通过IPsec VPN访问pfSense防火墙配置指南​​​里,介绍了使用共享密钥方式配置IPsec VPN过程,相比较预共享密钥的认证方式,采用证书认证会相对复杂一些,但安全性方面会有所提高。在本文中,将介绍使用证书来配置IKEv2 IPsec VPN的方法 。本文的所有配置都基于​​pfSense plus 22.01中文定制版​​系统完成。

交流防火墙方面的使用经验,可以加入QQ群286850453讨论。也欢迎关注微信公公号”pfSense防火墙”,方便及时接收推送的第一手文章。

一、创建证书

在pfSense上创建证书颁发机构(CA)和服务器证书。

1、创建CA

导航到系统 > 证书管理CAs选项卡,点击“+”添加,设置CA参数如下:

  • 证书来源:创建内部CA
  • 信任库:选中
  • 随机序列:选中
  • 密钥类型:RSA
  • 通用名称:jxgs
  • 其他选项如下图所示

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2

2、创建服务器证书

导航到系统 > 证书管理证书选项卡,点击"+"添加,设置服务器证书参数如下:

  • 证书来源:创建内部证书
  • 描述名称:Server cer
  • 证书颁发机构:AAA(前面创建的CA)
  • 密钥类型:RSA
  • 通用名称:jxgs
  • 国家代码:CN
  • 证书类型:服务器证书
  • 替代名称:防火墙的FQDN和公网IP地址

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_02

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_03

二、IPsec配置

包含移动客户端配置、阶段1配置、阶段2配置三部分。

1、移动客户端配置

导航到VPN>IPsec>移动客户端选项卡,设置以下参数:

  • 启用 IPsec 移动客户端支持
  • 用户认证:本地数据库
  • 组认证:选中
  • 认证组:Sysem Administrators
  • 选中向客户端提供虚拟IP地址,注意:这里的地址不能是防火墙上任何已设置的地址。
  • 选中DNS服务器,填上一至两个公共DNS服务器。注意:这里填入DNS,并在阶段2中将网络设置为0.0.0.0/0,当客户端连接VPN后,将默认通过pfSense防火墙连接外部网络。
  • 其他选项保持默认。

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_04

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_05

2、IPSec阶段1设置

保存移动客户端配置后,会提示创建阶段1配置。阶段1设置参数如下:

  • 密钥交换版本:IKEv2
  • 认证方法:EAP-TLS
  • 本地ID类型:ASN.1专有名称(证书的通用名称)
  • 远程ID类型:any
  • 我的证书:选中前面创建的服务器证书
  • 证书颁发机构:选中前面创建的CA
  • 加密算法:AS256-GCM\128bits\SHA384\20(nist ecp384)\
  • 生存时间:28800
  • 随机时间:20
  • NAT-T:Auto
  • MOBIKE:启用
  • DPD检测:选中
  • 其他选项参照下图进行设置

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_06

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_07

保存阶段1设置后,接着添加阶段2。

3、IPSec阶段2设置

添加阶段2条目:

  • 模式:IPv4隧道
  • 本地网络:设置为0.0.0.0/0网络,从防火墙进行出站。设置为LAN网络,则从本地出站。
  • 密钥交换协议:ESP
  • 加密算法:\AES256-GCM\128bits
  • PFS密钥组:20(nist ecp384)
  • 生存时间:3600
  • 其他参数保持默认设置。

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_08

三、防火墙规则配置

转到防火墙>规则策略,添加以下防火墙规则

在IPsec选项卡上,添加一条any to any规则,如下图所示:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_09

在WAN选项卡上,放行UDP500和4500端口,如下图所示:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_10

至此,pfSense上的IPsec VPN配置完成。

四、导出配置文件

转到VPN>IPsec Expot:Apple Profile(这是pfSense plus独有的插件,pfSense CE版本没有),选择导出参数。服务器地址选防火墙的公网地址。注意:在前面创建证书时,如果在证书属性的替代名称处没有输入防火墙的公网地址,则这里不会显示公网IP地址,导出的配置文件将无法保证正常连接。设置完成后,导出供IOS设备使用的配置文件。

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_11

五、手机端设置

将导出的以mobileconfig为扩展名的配置文件,以附件的形式发送到IOS手机邮件客户端能收到的邮件地址,使用邮件程序打开附件,按提示进行操作。

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_12

看到这个提示,关闭后,转到手机的设置页面,找到已下载描述文件选项:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_13

点击右上角的安装:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_14

输入手机密码后,再一次点击右上的安装按钮:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_15

完成后如下图所示:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_16

在VPN项下,多了一个配置文件的连接:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_17

滑动连接按钮,就可以完成VPN的连接。

连接测试

转到状态>IPsec,查看VPN的连接状态:

移动端通过IKEv2 IPsec远程访问pfSense plus防火墙配置指南_ipsec IKEv2_18

在手机端输入防火墙的LAN访问地址,检查是否能正常远程访问pfSense防火墙。也可以检查访问网络的公网IP,是否是通过pfSense防火墙进行出站。