我在 Windows 2012 Server R2 中设置 DNS 转发时遇到问题。
本地网络的两个 AD 服务器在 192.168.0.10 (AD1) 和 192.168.0.11 (AD2) 上运行 DNS 服务器。两个 DNS 都设置了转发器,8.8.8.8 和 8.8.4.4。AD1 的网络适配器上的 DNS 条目设置为 192.168.0.11 和 127.0.0.1。AD2 采用相同的方法,在其 NIC 上将 192.168.0.10 和 127.0.0.1 设置为主 DNS 和辅助 DNS。由于这是一个多宿主环境,我将省略其余的 NIC 配置 - 如果需要,我很乐意提供它。
当我尝试从任何这些服务器访问“公共”地址(例如 www.google.com)时,一切都顺利进行。但是,每当我尝试从同一本地网络中的任何域客户端(例如 192.168.0.20,其 DNS 服务器指向 AD1 和 AD2)ping 同一地址时,我都会得到
Ping 请求无法找到主机 www.google.com。请检查名称并重试。
同时,nslookup 在所有地方都有效!本地域名的名称解析在所有客户端上都有效,因此看起来本地 DNS 正在工作,但是转发设置存在问题。
Ping 适用于所有 IP 地址,因此不存在连接问题。当我将外部 DNS(例如 8.8.8.8)添加到客户端配置中(作为第三 DNS)时,ping 即可完全正常工作。一定有更好的方法可以做到这一点。如果没有此外部 DNS,网络和共享中心中 NIC 旁边的“连接”列中将显示“无 Internet 访问”。显然情况并非如此 - 除了无法解析符号名称外,一切正常。
我尝试过移除转发器,只使用根提示,但没有成功。我肯定我忽略了明显的问题,但花了半天时间后,我还是处于起步阶段。
答案1
有时,DNS客户端上的本地缓存会在使用ping时导致此类问题...尝试在客户端计算机上使用> ipconfig /flushdns在ping外部地址之前清理缓存。如果这不起作用,我建议进行网络跟踪以查看线路上的情况。
答案2
正如 Massimo 所建议的,拥有多宿主 DC 永远不是一个好主意。移除第二个 NIC 后,一切都开始按预期运行。