一些背景:
我有一个服务器在我的局域网,是静态NAT的公共IP在我的思科871。相同本地子网的其余部分被静态NAT发送到不同的公共IP中,以便分离通信量。我域的权威公共名称服务器拥有服务器的所有相关和正确的记录。而且,这些信息在几周前完全传播到了世界其他地方。
这一问题:
当在服务器的同一台物理LAN上的任何机器上执行我的域的nslookup时,不管有哪个子网(我有两个子网),我都会得到服务器的本地IP,而不是它的公共IP。当从网络外部执行时,nslookup返回正确的(公共) IP。
到目前为止我所知道的是:
我知道一旦我删除服务器的静态NAT,这个问题就会消失(参见下面配置中的粗体行)。我不使用CBAC的DNS流量或任何性质的东西。我和我的同事都很困惑。
下面是来自我的配置的相关片段(地址有意更改):
有人能帮我理解一下为什么会发生这种事吗?
发布于 2009-06-01 20:59:10
它被称为"DNS篡改“-它试图通过给本地客户端本地地址而不是NAT地址来帮助您:
与NAT常见问题的链接
它这样做是因为IOS防火墙代码(很像PIX或ASA)默认检查DNS,因此要禁用它,就必须发出"no inspects“命令。当您开始使用静态NAT时,可能会出现IOS防火墙行为。
链接到PIX/ASA有关DNS文档的详细信息
发布于 2011-04-28 16:01:12
若要禁用DNS文档,请尝试使用以下命令:
no ip nat service alg udp dns
发布于 2009-06-01 20:43:57
您可能需要发布一些关于您的DNS解析结构的信息。例如,当服务器的NAT到位时,客户端->服务器--一个-> ISP A --听起来像是在创建一个“循环”,而上一个向外部服务器解析的内部DNS系统正在寻找的是您服务器的公共IP而不是您的->?
只是澄清一下。当NAT没有到位时,您的路由器将提供解决方案或将其转发给ISP。但是有了NAT,流量就会被发送回服务器本身。
https://serverfault.com/questions/17170
复制相似问题