在 OVH 公共云中部署 pfSense 作为 HA 中的 DHCP 服务器

在 OVH 公共云中部署 pfSense 作为 HA 中的 DHCP 服务器

我正在尝试在 OVH 公共云 (OpenStack) 中部署两个 pfSense。每个都有自己的公共 IP,并且公共连接没有任何问题。

vRack 部分(私有网络)的情况变得更加复杂。

使用如下所示的区域和子网创建网络(未定义 DNS 和路由):

  "GRA": {
    "start":"10.127.0.1",
    "end":"10.127.127.254",
  },
  "SBG": {
    "start":"10.127.128.1",
    "end":"10.127.255.254",
  },
  "network":"10.127.0.0/16",
  "vlanId": 37
  "enableDhcp":False,
  "enableGatewayIp":False,

每个 pfSense 在其区域如下:

  "pf1": {
    "ip":"10.127.0.1/16",
    "MTU": 9000,
    "region":"GRA",
  },
  "pf2": {
    "ip":"10.127.128.1/16",
    "MTU": 9000,
    "region":"SBG",
  },

即使网络上禁用了 DHCP,网络的每个端口上仍会分配一个 IP。(由 OpenStack 提供,仅从 OVH 的 Horizo​​n 界面可见)。可以为分配给 VM 的端口分配一个静态地址。(我对 pfSense 1 和 2 就是这么做的)如果我为每个 pfSense 分配相应的 IP,通信就可以正常工作(ping、curl,可能一切)。

另一方面,如果我在同一区域/网络中添加第三台机器(名为 CL1)(pf1 是 DHCP 服务器)。

使用 DHCP:

  • 防火墙收到 DHCP 请求
  • 防火墙发送 DHCP 回复
  • 客户端未收到 DHCP 回复。
  • 使用防火墙分配的静态 IP(静态 ARP)会导致相同的行为

使用静态 IP:

  • 使用防火墙分配给客户端的静态 IP(静态 ARP),但手动或随机 IP(网络内)会导致相同的行为:
    • 从 pf2 ping 到 CL1:
      • pf1 的 tcpdump 看到 ping 请求但没有回复。
      • pf2 没有收到任何回复。
      • CL1接收并回复。
    • 从 CL1 ping 到 pf2:
      • CL1 发送 ping。
      • pf1 和 pf2 什么也没看到。
  • 使用 OpenStack 分配的 IP 地址:
    • CL1 ping 和 curl 工作:
      • 如果 CL1 ping pf1 => 仅 pf1 看到流量,则 ping 有效。
      • 如果 CL1 ping pf2 => pf1 和 pf2 都看到流量,则 ping 有效。
      • 如果 pf2 ping CL1 => pf1 没有看到流量,则 ping 有效。

我由此得出结论:

  • pf1 和 pf2 可以通信,因为它们使用 OpenStack 分配的 IP。
  • CL1 的流量只有在使用 OpenStack 分配的地址时才有效。
  • 如果 CL1 在网络上发出 ARP 请求,则 pf1 和 pf2 都无法收到该请求。

供参考:

  • vRack 是 OVH 提供的第 2 层网络。
  • OpenStack 需要 VLAN ID 才能工作(根据 OVH 文件)。
  • 虽然我使用 JSON 来表达一些信息,但这不是用于创建所述网络或接口实例的代码。
  • pf1&2 LAN 中的规则:接受进出 LAN 的所有内容(所有协议,仅 IPv4 流量)。
  • 安全组:授权所有内容(所有协议,仅 IPv4 流量)。

我在这里想要实现的目标:

  • 由 pfSense 管理的 DHCP 网络。
  • 稍后:在 HA 所需的 vRack(跨区域)中使用 vRack 多播功能
  • 稍后:在 vRack 上启用 pfSense HA(届时将创建另一个跨区域网络)

所有这些都可以通过裸机实现,但这不是我想要的:我只使用 OVH 公共云虚拟机。

如果您能给我任何建议、可以尝试的方法或任何可以解决这个问题的方法,请提前谢谢您。

如果您需要更多信息,请咨询。问候,Dboy

相关内容