从内部接口上的计算机访问 ASA 或类似设备外部接口上的 Web 服务器时,内部到内部 NAT 又名 NAT 环回解决了发夹 NAT 问题。这可以防止 DNS 管理员必须维护一个重复的内部 DNS 区域,该区域具有与其服务器对应的 RFC1918 地址,这些地址被 NAT 转换为公共地址。我不是网络工程师,所以我可能会遗漏一些东西,但这似乎很容易配置和实施。非对称路由可能是一个问题,但很容易缓解。
根据我的经验,网络管理员/工程师更喜欢系统人员只运行 split-dns 而不是配置他们的防火墙来正确处理 NAT 发夹。为什么是这样?
显然,对此不能有明确的答案,但我可以想到以下几个原因:
我不这样做的原因有几个:
免责声明 - 这是一个诱饵答案。
我认为避免此类解决方案的一个常见原因是网络工程师对 NAT 的非理性恐惧/仇恨。如果您想查看一些关于此的讨论示例,请查看以下内容:
据我所知,很多这种恐惧源于思科对 NAT 的糟糕实施(因此从这个意义上说,它可能不是不合理的),但在我看来,“经典”网络工程师在“NAT 是坏”的世界观,他或她看不到像这样的明显例子,在这些例子中,它非常有意义并且实际上简化了解决方案。
你去吧 - 投下你心满意足的票!:-)
我的猜测是:
从发夹 NAT 的优点来看,
对于对内部服务器流量要求较低的小型网络,我会使用发夹 NAT。对于与服务器有许多连接并且带宽和延迟很重要的大型网络,请使用 split-dns。
从我的角度来看,这在 Cisco Pix 到 ASA 的过渡之间发生了一些变化。失去了
alias
命令。通常,从 Cisco 防火墙的内部接口访问外部地址需要某种技巧。请参阅:如何通过外部 IP 访问我的内部服务器?不过,我们并不总是需要维护重复的内部 DNS 区域。如果在 NAT 语句上配置,Cisco ASA 可以将外部地址的 DNS 查询重定向到内部地址。但我更喜欢为公共 DNS 区域保留一个内部区域,以便具有这种粒度并能够在一个地方管理它,而不是进入防火墙。
通常,在一个环境(邮件、Web、一些公共服务)中只有少数服务器可能需要它,所以这不是一个大问题。
我可以想到几个原因:
如果我要使用 NAT 环回,我会有点担心 NAT 设备将如何处理欺骗性源地址。如果它不检查数据包进入哪个接口,那么我可以从 WAN 欺骗内部地址并将数据包发送到具有内部地址的服务器。我无法收到回复,但我可以使用内部地址破坏服务器。
我会设置 NAT 环回,插入 DMZ 交换机并发送带有欺骗性内部源地址的数据包。检查服务器日志以查看是否已收到它们。然后我会去咖啡店看看我的 ISP 是否阻止了欺骗性地址。如果我发现我的 NAT 路由器没有检查源接口,我可能不会使用 NAT 环回,即使我的 ISP 正在检查。