我的LAN上有一台服务器,它在我的Cisco 871中静态NAT到其公共IP.同一本地子网的其余部分静态NAT到不同的公共IP,以便分离流量.我的域的权威公共名称服务器具有服务器的所有相关和正确的记录.此外,信息在几周前完全传播到世界其他地方.
问题:
当从与服务器相同的物理LAN上的任何机器执行我的域的nslookup时,无论子网(我有两个子网),我都会返回服务器的本地IP而不是其公共IP. nslookup在从此网络外部执行时返回正确的(公共)IP.
到目前为止我所知道的:
我知道一旦我删除了服务器的静态NAT,问题就会消失(参见下面的配置中的粗线).
我没有将CBAC用于DNS流量或任何此类性质.
我和我的同事感到非常困惑.
以下是我的配置中的相关代码段(故意更改的地址):
> ip nat pool office 65.x.x.162 65.x.x.162 netmask 255.255.255.240
> ip nat pool guests 65.x.x.164 65.x.x.164 netmask 255.255.255.240
> ip nat里面的源列表1池办公室超载
> ip nat里面的源列表2池客户端超载
> ip nat inside source static tcp 192.168.1.1 22 interface FastEthernet4 41234
> ip nat inside source static tcp 192.168.1.69 22接口FastEthernet4 44321
> ip nat inside source static tcp 192.168.1.12 3389 interface FastEthernet4 51234
> ip nat inside source static 192.168.1.9 65.x.x.163
>!
> access-list 1 permit 192.168.1.0 0.0.0.255
> access-list 1拒绝任何
> access-list 2 permit 192.168.100.0 0.0.0.255
> access-list 2拒绝任何
有人可以帮我理解为什么会这样吗?
解决方法
这样做是因为IOS防火墙代码(很像PIX或ASA)默认检查DNS,因此禁用它会发出“no inspect dns”.当您开始使用静态NAT时,可能会启动IOS防火墙行为.