使用 pfSense 进行子网路由

使用 pfSense 进行子网路由

我在运行 ESXi 的服务器上将一个公共 IP 和一个公共 /29 子网分配给了同一个 NIC。我已在此 ESXi 上安装了 pfSense 作为虚拟机。

我给 pfSense 提供了三个虚拟网卡:

  • 一个连接到与ESXi盒的物理NIC连接的vSwitch。
  • 另一个桥接到 LAN,这是 ESXi 盒内没有物理 NIC 连接的另一个 vSwitch。
  • 第三个,称为 OPT1,桥接到另一个 LAN,这是另一个没有物理 NIC 连接的 vSwitch。

我将公网 IP 分配给 pfSense 的 WAN IP,并将我的 /29 子网的第一个 IP 分配给 OPT1。

我将配置 pgsense 作为 OPT1 上(虚拟)机器的路由器,以及 LAN 上(虚拟)机器的 NAT 防火墙。

我意识到 OPT1 子网是一个公共 IP 子网,需要路由,因此开始阅读可用的文档。我真正想要实现的是:

https://docs.netgate.com/pfsense/en/latest/book/firewall/methods-of-using-additional-public-ip-addresses.html

我从 OPT1 部分开始,LAN 部分稍后再配置。我尝试按照本指南,我失败了。我担心这可能是因为我的配置Interfaces/Bridges/OPT1 : Member Interfcaces=WAN,LAN

症状是子网上的虚拟机无法再连接或 ping pfSense。“网络设备已连接,无网络访问”。

我的 OPT1 配置错误了吗?如果能提供一些帮助或故障排除指南就更好了。

答案1

我发现有两个主要麻烦需要处理。

  1. 有了公共子网,您的 pfSense 盒子本质上就变成了路由器。您需要与上行链路提供商 ISP 打交道,以将子网的数据包路由到 pfSense 盒子的外部 IP。如果它以某种方式不起作用(例如,他们不合作或甚至不明白你想要什么),有一些技巧(例如,代理 arp),但希望您不需要这些。

  2. 但是,对于 OPT1 的方向,您需要一个 NAT-ting 路由器。在 FreeBSD 中,pfsense 的基本平台、NAT 和防火墙像往常一样更松散地耦合。您必须考虑 NAT 和防火墙之间的一些意外交互,这些交互都有记录,但大多在不同的 freebsd 源中,而不是在 pfsense 文档中。了解 NAT 和 FW 规则对传入和传出数据包的应用顺序很重要。

我的观点是,在 ESXi 环境中,您不需要为此设置多个子网,但是如果您出于某些原因(这里不详细说明)想要这样做,则可以这样做。这会使问题复杂化,并且收益为零甚至很少。我能看到的优势如下:

  1. 安全性,您的公共网络和内部网络彼此之间无法互相看到,因此您的公共网络基本上可以作为 DMZ 工作。但是,在 ESXi 环境中,默认情况下,计算机受到网络窃听保护(ESXi 管理员可以在 VM 设置中为每台计算机关闭此功能,但单个操作员不能)。在 ESXi 子网上,默认情况下,您看不到与您无关的数据包,即使您在 VM 上运行数据包嗅探器也是如此。

  2. 您可以在 LAN 和 OPT1 上提供不同的 dhcp 服务,这在自动化虚拟主机环境中可能是必不可少的。但是,在这种情况下,您无法将 LAN 和 OPT1 一起切换,此外,您可能还面临其他挑战,需要安全地解决所有方向的 LAN-OPT1-WAN 通信。

我认为,最好的方法是利用 ESXi 的防御功能,使您的 pfSense 更简单。如果您这样做,请这样做:

  1. 删除 OPT1。
  2. 将LAN的IP设置为192.168.1.1。
  3. 配置其 dhcp 以向虚拟机提供 192.168.1.2 - 192.168.1.254 范围内的 IP。(注意,192.168.1.1 是您,192.168.1.255 是网络广播)。上次我这样做时,在将 pfsense dhcpd 设置为其正在运行的不同 IP 范围时遇到了麻烦,这就是为什么您需要先进行设置。
  4. 在 LAN 上为您的 pfSense 公共 IP(192.0.3.1)和子网(/29)设置虚拟 IP。您无法为该子网设置 dhcp 服务器,这是此想法的缺点。

如果您已正确完成所有操作,则您的私有虚拟机应该可以互相看到,并且您的公共虚拟机也应该可以互相看到,但暂时不会有更多的路由。

  1. 设置 LAN 的 NAT 规则。这里您还有另一个问题:在 NAT 设置的顶部,您需要设置您的 NAT 类型。根据您选择的 NAT 类型,它将为您自动生成一些 NAT 规则。正如我上次所做的那样,我无法理解这些规则到底是做什么的,也无法通过手动设置复制它们,但它们似乎是 NAT 和路由子网之间无缝交互所必需的。1
  2. 还要在防火墙中设置路由。注意:在 freebsd 以及 pfsense 中,所有内容默认都被阻止,任何您想通过的内容都需要找到其“通过”规则!当心,别把自己封闭起来!(尽管在 ESXi pfSense VM 的情况下,可以通过控制台访问轻松修复它。)

与常见的路由器/交换机设置相反,在 ESXi 世界中,您遇到的主要麻烦是没有真正的 PROMISC 访问权限,您也无法真正跟踪数据包发生的情况。但是,在 pfsense 顶部菜单中,有一个诊断 -> 数据包跟踪器,您可以在那里真正跟踪所有内容。切勿尝试盲目地与系统交互,始终使用捕获数据来了解当前配置存在什么问题以及下一步该怎么做!

还要注意,使用多个 ESXi 时,可能会养成将其子网桥接在一起的习惯。这与我们在 IP 路由配置中所做的习惯非常不同,在 IP 路由配置中,桥接有其作用并应用于其应有的位置。

您可以将NAT和路由子网放到不同的子网中,步骤大致相同。

1问题的真正原因很可能就在这里。

相关内容