windows – DNS无法解析主机名; nslookup可以

我在 Windows 7上有一个用户试图访问DNS名称为windows.cs的本地服务器.我们有两个内部DNS服务器. DHCP服务器为用户分配两个内部DNS服务器作为主要和辅助,然后我们的ISP DNS作为第三DNS服务器.

用户不能偶尔访问windows.cs上的网站.如果我ping它,它说它无法解析主机名.我刷新DNS缓存,然后当我显示dns缓存时,它具有以下内容

windows.cs – 名称不存在

然而,如果我使用nslookup,认情况下查询DNS服务器(我们的内部DNS服务器)并查询windows.cs,它会返回正确的IP地址.

那么为什么Windows不能使用ping解析主机名,但它可以在使用nslookup工具时?我该如何解决这个问题?

从你所说的看起来,windows.cs的请求现在又一次转到ISP的DNS服务器. nxdomain结果然后由Windows的DNS客户端缓存,因此用于Web浏览器的任何重试,ping等.清除缓存(ipconfig / flushdns)应该强制Windows DNS客户端重试查询,但不能保证它不会再次访问ISP DNS服务器.

ping无法解析主机名但nslookup的原因是因为nslookup是一个绕过Windows DNS客户端的低级工具.它使用您告诉它的任何DNS服务器(认情况下是第一个),并且即时执行查询.您可以通过键入server< host>来更改它查询DNS服务器来自nslookup提示符,其中host是IP或FQDN.

但是,Windows DNS客户端只会对不在其缓存中(或已过期)的条目进行查询.否则返回缓存的结果.

Windows客户端使用ISP DNS服务器的原因并不明显.也许它最近无法解析本地服务器(可能是因为在另一个网络上),也许本地服务器返回错误.或者,可能在高级TCP / IP设置下没有正确排序> DNS.

我个人更喜欢只在工作站上使用本地DNS服务器地址(由DHCP传播),以简化配置并避免这样的问题.我很想知道在台式机上设置ISP DNS服务器背后的理由.我无法想象有任何有效的性能原因,并且就冗余而言,在大多数网络上都有两个就足够了(如果没有添加第三个).

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...