我有两个 pfSense 集群,一个是 2.1.4,一个是 2.1.3。
指示表明需要手动出站 NAT,但 2.1.3 集群使用自动 NAT、服务器和所有(包括 SSH 和 OpenVPN)工作得很好。
2.1.4 集群使用手动出站 NAT 并导致悲痛。NAT 具有三个自动添加的规则 - 标记如下:
- 为 ISAKMP 自动创建的规则 - LAN 到 WAN
- 自动创建 LAN 到 WAN 的规则
- 本地主机到 WAN 的自动创建规则
这些也是为我们的内部网络 (192.168.6.0/24) 和我们的开发网络 (10.2.0.0/8) 创建的。有两个手动规则:
- 从 OpenVPN 客户端 (192.168.7.0/24) 到外部的 IP 是 NAT
- 从 Internet Net 到 Dev Net 的 IP 是 NAT
这个防火墙集群是一个测试集群——然后主集群被分解为一个单一的系统生产防火墙——现在又恢复为一个集群......并且在此过程中发生了许多 IP 更改。
现在事情是 NAT 到集群地址,但 OpenVPN 仍然使用主地址。我错过了什么?我应该返回自动 NAT 吗?另一方面,如果我将 2.1.4 集群移动到手动 NAT(以处理通过 VPN 与辅助节点的通信),我会导致问题吗?
编辑我应该注意到其他一切似乎都在工作 - 包括 SSH 到集群地址,传出的 HTTP 显示集群地址,等等。SSH 当然是端口 22 - 而 OpenVPN 是 1194(超过 1024)。OpenVPN 客户端工作(站点到站点 VPN)。似乎只是来自 OpenVPN 服务器在端口 1194 上的传出流量,而不是 NAT。
我尝试使用适当的防火墙规则在端口 23 上运行 OpenVPN - 它仍然从 WAN 地址而不是集群地址发出回复。
更新我确实提到了问题所在,但没有正确明确。这是我所期望的:
- 数据包到达端口 1194 上的集群 IP。
- OpenVPN 服务器接受数据包。
- 数据包从端口 1194 上的集群 IP发送回源。
这就是我所看到的:
- 数据包到达端口 1194 上的集群 IP。
- OpenVPN 服务器接受数据包。
- 数据包从端口 1194 上的主 IP发送回源。
您建议检查 OpenVPN 服务器绑定的 IP;是ANY并更改为Cluster IP;还没有测试它。
这个问题实际上比听起来要简单得多。OpenVPN 服务器被配置为监听任何接口;当我将接口更改为集群 IP时,一切都开始工作了。(界面是 OpenVPN 服务器配置选项卡中的下拉菜单之一。)
这解决了出现的两个问题。
首先,它侦听“所有”接口而不是集群 IP,因为它没有包含在“所有”的定义中。更改接口以侦听集群 IP 使服务器仅在该接口上侦听,但无论如何这是所需的行为。
其次,当接口被列为any时,系统不会将 OpenVPN 视为故障转移的一部分。因此,所有集群节点上的 OpenVPN 都会尝试运行。转换为侦听集群 IP,这会使系统识别出 OpenVPN 将被故障转移,并且它在所有节点上都能正常工作。
问题解决了。万岁!