Palo Alto 防火墙:为什么需要双 NAT?

网络工程 纳特 帕洛阿尔托 鼻涕虫
2022-02-21 20:40:55

在此处输入图像描述

该图显示了我当前的网络配置。(其中 X 为 10)。

我将左侧的防火墙接口 E1/2 配置为 192.168.10.1/24。它位于受信任的安全区域中。在以太网 1/2 接口上配置了 DHCP 服务器。它的范围是 192.168.10.70 到 192.168.10.80。PC从DHCP服务器192.168.10.70获取第一个IP地址

E1/1 的 IP 地址为 172.16.1.110/24。它位于不受信任的安全区域中。

我在 E1/1 和 E1/2 之间有一个虚拟路由器路由,因为它们位于具有不同网络 ID 的不同网络中。虚拟路由器有一个静态默认路由,目的地为 0.0.0.0/0,下一跳 IP 地址为 172.16.1.1。这是进入 Internet 的流量所必需的。

我有一个安全策略,允许来自 Trust-L3 安全区域的流量到达 Untrust-L3 安全区域。

互联网之前的路由器配置了 NAT 以将私有 IP 地址 172.16.1.110/24 转换为公共 IP 地址。

此时左边的PC可以ping通192.168.10.1(E/2)和172.16.1.110(E1/1)。但是它不能 ping 172.16.1.1(路由器的内部端口)。它也无法访问互联网。

我现在的问题是,如果 NAT 已经在路由器上完成,为什么它不能访问互联网?

我了解到,通过在防火墙上配置源 NAT 策略,将来自不信任区域的所有数据包转换为具有 172.16.1.110/24 的源 IP 地址,它可以解决此问题。

这意味着在防火墙上进行 NAT 以将私有 IP 地址转换为另一个私有 IP 地址,然后路由器的 NAT 将 172.16.1.110 转换为公共 IP 地址。只有这样,PC 才能访问 Internet。

但是,我不明白为什么必须进行双重 NAT,因为我一直认为只有私有 IP 地址到公共 IP 地址才需要 NAT。为什么离开 E1/1 的流量在没有源 NAT 的情况下无法到达 172.16.1.1?

我遇到的另一个相关问题是,一旦配置了源 NAT,我可以 ping 172.16.1.1 并从 PC 访问互联网,但不能再 ping 172.16.1.110。

2个回答

显然,您的边界路由器 (BR) 不知道 192.168.x。网络。它只知道 172.16.1.0 网络以及如何路由它。

此外,Palo Alto 已将 192.168.x 空间标记为私有(安全),因此它不希望看到来自不受信任接口的流量。

希望这可以帮助。

在这种情况下,双重 NAT 不是一个可行的解决方案。这在某种程度上是一种不理想的网络设置,但我猜测根据您提供的信息,您正在通过您的 ISP 使用某种类型的商业互联网连接,这需要您在 PAN 的不信任端共享 /24。保持这个设计简单会让你的生活更轻松,如果你管理这个设备,IE 在你的路由器上使用一个 NAT,或者在 PAN 上使用 NAT。

在我们的环境中,我们在 Palo Alto 进行 NAT。如上所述,您的问题不是 NAT,而是“边缘”路由器路由表和信任网络之间缺乏意识。

如果您想让这个超级简单,就像 Barney 一样简单,请在指向 Palo 不信任接口的路由器之间配置静态路由,目标为 192.168.10.0/24,默认路由为 0.0.0.0,通过 172.16.1.1在帕洛阿尔托一侧。

这是来自我们的一个站点的示例配置,具有类似但更理想和简单的配置。

NAT原始数据包

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述