网络到网络连接是IPsec最常见的连接类型。它们通过互联网将两个网络安全且透明地连接在一起。IPFire支持IPsec以下功能:
- 使用证书和 PSK 进行身份验证
- 使用 GRE/VTI 的传统 IPsec 和路由连接
- 隧道和传输模式
以上功能与pfSense防火墙兼容,两个防火墙的IPsec选项大多数也相通。本文以pfSense防火墙与IPFire防火墙建立站点到站点VPN连接为例,介绍在两款防火墙上的配置方法。
在本示例中:
IPFire的LAN子网:192.168.10.1/24。
pfSense的LAN子网:192.168.20.1/24。
pfSense防火墙设置
pfSense防火墙设置IPsec VPN连接包括添加IPsec阶段1、2,添加防火墙规则三个部分。
IPsec阶段1设置
转到VPN>IPsec,添加IPsec阶段1。
密钥交换版本选IKEv2,远程网关输入IPFire的WAN接口IP。
本示例使用预共享密钥进行认证,该共享密钥必须与IPFire端一致。加密算法选应用最广泛的CHACHA20协议,如果系统支持AES加密,也可以选用AES算法。DH组选2048,其他选项可以保持默认,如下图所示:
IPsec阶段2设置
阶段1设置完成以后,点击阶段2选项,添加一个阶段2条目。
模式选IPv4隧道,本地网络选LAN子网,远程网络输入IPFire子网192.168.10.1/24。
阶段2的加密算法同样选CHACHA20,PFS密钥组选2048。其他选项保持默认,如下图所示:
IPsec两阶段设置完成后如下图所示:
添加防火墙规则
转到防火墙>规则策略,在IPsec选项卡上添加一条any to any规则(方便示范,必要时应严格限制源和目标范围)。
IPFire防火墙设置
新建IPsec连接
转到服务>IPsec,单击添加按钮,添加一个IPsec连接。
远程主机输入pfSense防火墙WAN接口地址,远程子网输入pfSense防火墙LAN接口子网192.168.20.1/24。模式选隧道,预共享密钥输入在pfSense阶段1上设置的密钥:b6d235b54fa7f6f9f87c003fc0cfb5bce3dd9dd1319eb01c1d365e6e。其他选项可以保持默认。
保存设置后,点击高级选项,设置各项加密参数。密钥交换选IKEv2,加密算法选CHACHA20,哈希算法选SHA2 256 bit,组类型选2048,其他选项可以保持默认。所有这些选项必须与pfSense上的设置保持一致。
回到全局设置,选中启用选项,点击保存按钮,启动IPsec。连接成功,状态项会显示已连接。
测试连接
查看IPsec连接信息
在pfSense防火墙上,转到状态>IPsec,可以查看IPsec连接信息。
在IPFire防火墙上,转到系统>网络概况,可以查看IPsec的连接状态。
测试连通状态
在pfSense防火墙后面的客户端设备上,使用ping命令检查与IPFire防火墙的连通状态(在pfSense防火墙上ping不通,不知道什么原因)。
进入IPFire的shell界面,使用ping命令检查与pfSense防火墙的连接状态。
其他文章: