为什么没有更多的组织使用内部到内部 NAT 或类似的解决方案来允许 NAT 发夹?

MDM*_*rra 23 networking nat

当从内部接口上的计算机访问 ASA 或类似设备的外部接口上的 Web 服务器时,内部到内部 NAT 又名 NAT 环回解决了发夹式 NAT 问题。这可以防止 DNS 管理员必须维护一个重复的内部 DNS 区域,该区域具有相应的 RFC1918 地址,用于通过 NAT 转换为公共地址的服务器。我不是网络工程师,所以我可能会遗漏一些东西,但这似乎很容易配置和实施。非对称路由可能是一个问题,但很容易缓解。

根据我的经验,网络管理员/工程师更喜欢系统人员只运行 split-dns,而不是配置他们的防火墙来正确处理 NAT 发夹。为什么是这样?

the*_*bit 12

显然,对此没有明确的答案,但我可以想到以下几个原因:

  1. 优雅:NAT 一开始并不是很优雅,但对于 IPv4 的受限地址空间来说是必需的。如果我可以避免 NAT,我会的。无论如何,使用 IPv6 问题就会消失。
  2. 复杂性:特别是在您没有一个“核心”路由器来创建所有安全边界的情况下,过滤器配置可能会变得非常棘手。否则,您将不得不在几乎所有路由器设备上传播和维护 NAT 规则。
  3. 参考:如果防火墙管理员与服务器管理员团队的其他成员不同,他们可能很难联系到。为了确保更改不会被防火墙管理员的积压(或休假)延迟,选择了将责任保留在同一团队中的选项
  4. 可移植性和常见做法:使用 DNS 视图是“人人都知道的事情”来解决这个问题。并非每个边界路由器都会以直接的方式支持环回 NAT,很少有人知道如何在您的特定环境中正确设置它。在对网络问题进行故障排除时,工作人员需要了解发夹式 NAT 配置及其所有影响 - 即使他们正在寻找一个明显无关的问题


Den*_*ker 11

我不这样做的原因有几个:

  • 如果不需要,为什么要对 DMZ 路由器和防火墙施加额外的压力?我们的大多数内部服务不在 DMZ 中,而是在一般的公司区域,在 DMZ 中提供代理服务,以便偶尔进行远程访问。执行从内到内的 nat 会增加 DMZ 的负载,这在我们的情况下会很重要。
  • 如果你不做 DNAT + SNAT,你会得到不对称的路由,这是众所周知的很难做到正确的。所以你 SNAT 并丢失源 IP 信息。但是,将源 IP 链接到人以进行故障排除是非常有用的。或者偶尔在愚蠢的情况下进行nerfshooting。“嘿,这个 IP 在未经身份验证的服务 X 上做了一些奇怪的事情” “哦,让我们看看 imap 服务器日志它是谁”。

  • 请注意,如果您的防火墙正在执行 L3 路由,并且您的外部和内部客户端的路由在防火墙上经过一跳,您就不必担心非对称路由,对吧? (2认同)

Pau*_*ear 7

免责声明 - 这是一个火焰诱饵答案。

我认为避免使用此类解决方案的一个常见原因是网络工程师对 NAT 的非理性恐惧/仇恨。如果您想查看有关此问题的一些讨论示例,请查看以下内容:

据我所知,很多这种恐惧源于思科对 NAT 的糟糕实施(因此从这个意义上说它可能不是不合理的),但在我看来,“经典”网络工程师在“NAT 是坏”的世界观,他或她看不到像这样的明显例子,在那里它完全有意义并且实际上简化了解决方案。

你去 - 投反对票到你的心的内容!:-)


hoo*_*enz 5

我的猜测是:

  1. 拆分 DNS 更容易理解。
  2. NAT Hairpin 会占用路由器上的资源,而 split-dns 则不会。
  3. 路由器可能有带宽限制,而您无法通过分割 DNS 设置获得这些限制。
  4. 当您避免路由/NAT 步骤时,Split-dns 将始终具有更好的性能。

从发夹 NAT 的优点来看,

  • 一旦设置完毕,它就可以工作了。
  • 在工作网络和公共互联网之间移动的笔记本电脑的 DNS 缓存没有问题。
  • 服务器的 DNS 仅在一个位置进行管理。

对于内部服务器流量要求较低的小型网络,我会使用发夹 NAT。对于与服务器有许多连接并且带宽和延迟很重要的大型网络,请使用 split-dns。