前面介绍了移动客户端通过IPsec VPN访问pfSense防火墙的配置方法,本文将介绍通过IPsev VPN远程访问OPNsense的设置。所有示例都在OPNsense 22.1.6-amd64系统上完成。
防火墙IPsec配置
由于配置证书及在手机上导入证书操作相对复杂,本次配置的IPsec采用Mutual PSK + Xauth认证方式。防火墙IPsec的配置主要包括用户配置、移动客户端配置、阶段1和阶段2配置、防火墙规则配置等五个方面。
用户配置
添加一个VPN组,并赋予组访问IPsec VPN的权限。
导航到系统>访问>组菜单,添加一个IPSEC_User用户组。
保存后,在新添加的组列表右则,点击编辑图标,给组赋予访问IPsec 所有设置的权限。
然后导航到系统>访问>用户菜单,添加一个远程访问用户。并将该用户添加至刚才新建的IPSEC_User组中。
输入IPsec预共享密钥,且必须与后面阶段1中设置的IPsec预共享密钥相同。
移动客户端配置
导航到VPN>IPsec>移动客户端菜单,设置以下参数:
- 启用 IPsec 移动客户端支持
- 用户认证:本地数据库
- 强制本地组:IPsec_User
- 选中向客户端提供虚拟IP地址,注意:这里的地址不能是防火墙上任何已设置的地址。
- 其他选项保持默认。
IPSec阶段1设置
保存移动客户端配置后,会提示创建阶段1配置。阶段1参数如下:
- 连接方式:开始流量
- 密钥交换版本选auto或V1
- 认证方法:Mutual PSK + Xauth
- 我的标识符:我的IP地址
- 输入预共享密钥,须与前面添加的远程访问用户的IPsec预共享密钥相同。
- 加密算法:AES256\SHA1
- DH密钥组:1024
- 生存时间:86400
- 设置策略:必须选中。解决在VPN成功连接后,不能远程访问的问题。
- NAT穿越:启用
- 其他选项参照下图进行设置
IPSec阶段2设置
保存IPSec阶段1设置后,在列表右侧,点击“+”添加阶段2条目:
- 模式:IPv4隧道
- 本地网络:LAN 子网
- 密钥交换协议:ESP
- 加密及哈希算法AES256\SHA1
- PFS密钥组:关
- 有效期:28800
防火墙规则配置
转到防火墙>规则,添加以下防火墙规则
在IPsec选项卡上,添加一条any to any规则,如下图所示:
在WAN选项卡上,放行UDP500和4500端口,如下图所示:
至此,OPNSense上的IPsec VPN配置完成。
手机端设置
以下为IOS上的配置。转到设置>VPN,点击下面的添加VPN配置,输入各项VPN参数:
- 服务器:OPNSense防火墙的公网IP
- 账户密码:添加的远程用户和密码
- 密钥:在阶段1中设置的预共享密钥
- 其他选项留空
保存后,在状态的右则,滑动连接按钮即可。
测试连接
导航到VPN>IPsec>,可以查看VPN的连接状态:
在手机端,输入防火墙的LAN访问地址,检查是否能正常远程访问OPNsense防火墙。
注意,连接VPN后,手机端将无法访问其他网络。
至于安卓手机的配置,大同小异,这里不再赘述。
我的安卓手机没有IKEV1, Mutual PSK + Xauth,
只有 3个类型:
IKEV2/IPSec MSCHAPV2
IKEV2/IPSec PSK
IKEV2/IPSec RSA
请问,OPNsense 要如何设置?
把交换版本和认证方式改成跟你手机一样的即可。
安卓手机连接时,设置类型 IKEV2/IPSec PSK ,“IPSec标识符”填写什么?只有预共享密钥,没有填写账户、密码这两项?
带Xauth才需要用户密码。标识符要看你在阶段1中设置的是什么,一般是IP地址,主机名或专有名称这些。