移动客户端通过IPsec VPN访问pfSense防火墙配置指南

远程管理pfSense防火墙的方法非常多,最方便的是开启WAN接口的访问权限,但这样做可能不太安全,最安全的方法是通过VPN隧道进行远程访问,下面以使用IPsec VPN为例,介绍远程访问配置过程。所有配置都基于pfSense plus 22.01中文定制版系统完成。

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

防火墙IPsec配置

由于配置证书及在手机上导入证书操作相对复杂,本次配置的IPsec采用Mutual PSK + Xauth认证方式。防火墙IPsec的配置主要包括用户配置、移动客户端配置、阶段1和阶段2配置、防火墙规则配置等五个方面。

用户配置

添加一个VPN组,并赋予组IPsec VPN拨号认证的权限。

导航到系统>用户管理,组选项卡,添加一个IPSEC_VPN用户组。

保存后,在新添加的组列表右则,点击编辑图标,给组赋予IPsec xauth Dialin(拨号认证)权限。

然后导航到系统>用户管理,用户选项卡,添加一个远程访问用户。并将该用户添加至刚才新建的IPSEC_VPN组中。

输入IPsec预共享密钥,且必须与后面阶段1中设置的IPsec预共享密钥相同。

移动客户端配置

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

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

IPSec阶段1设置

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

  • 密钥交换版本选auto或IKEv1
  • 认证方法:Mutual PSK + Xauth
  • 本地ID类型:我的IP地址
  • 远程ID类型:any。注意不要选远程IP地址,经测试会无法连接。可以选 ASN.1专有名称或Automatic based on content。
  • 输入或生成预共享密钥,须与前面添加的远程访问用户的IPsec预共享密钥相同。
  • 生存时间:86400
  • NAT-T:Auto
  • 其他选项参照下图进行设置

IPSec阶段2设置

保存IPSec阶段1设置后,添加阶段2条目:

  • 模式选IPv4隧道
  • 本地网络:设置为0.0.0.0/0网络,从防火墙进行出站。设置为LAN网络,则从本地出站。
  • 密钥交换协议:ESP
  • 加密算法AES256\SHA1
  • PFS密钥组:关
  • 生存时间:28800
  • 其他选项参照下图进行设置。

防火墙规则配置

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

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

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

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

移动端设置

以下为IOS上的配置。转到设置>VPN,点击下面的添加VPN配置,输入各项VPN参数:

  • 服务器:pfSense防火墙的公网IP
  • 账户密码:添加的远程用户和密码
  • 密钥:在阶段1中设置的预共享密钥
  • 其他选项留空

保存后,在状态的右则,滑动连接按钮即可。

连接测试

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

在手机端输入防火墙的LAN访问地址,检查是否能正常远程访问pfSense防火墙。

安卓手机的配置,大同小异,这里不再赘述。

发表评论

您的电子邮箱地址不会被公开。