我正在一个由多个 Win 2003 服务器和工作站组成的小域中工作,这些服务器和工作站连接在一个 Win 2003 域控制器上。
偶尔,并且没有明显的规律性,我们的一个用户(唯一的非管理员用户)会遇到我们某个 Web 层的 DNS 解析失败,导致他正在使用的 Web 应用程序无法访问,但仅限于该系统和他本人。
编辑:添加了与 A 记录更佳性能相关的案例。
CNAME 和 A 记录结果之间似乎有区别。web1 是一条 CNAME 记录,我们将系统的 A 记录称为 server1。
我在他的系统上的用户帐户中发现了以下详细信息:
nslookup web1.fqdn.com
超时但显示正确的 IP 地址nslookup web1
显示正确的地址且无超时nslookup server1
显示正确的地址且无超时ping server1
按预期到达服务器。ping web1
查找 IP 失败,无法访问服务器ping web1.fqdn.com
查找 IP 失败,无法访问服务器- 任何 DC、工作站和 Web 服务器上的事件日志都是干净的。
- 在 DC 上重新启动 DNS 没有帮助。
- 重新启动用户的工作站没有帮助。
我可以在哪里查看这一点以尝试恢复该用户的 DNS 功能?
答案1
我将采取的步骤:
使用 ipconfig /flushdns 清除 DNS 缓存。如果您的 nslookup 超时,但返回 IP,则它可能依赖于缓存(我不确定此顺序)。
通过 ipconfig /all 验证正在使用的 DNS 服务器。正确吗?然后:
检查与 DNS 服务器的 ping 连接。可以 ping 通吗?然后:
通过以下方式检查此服务器的 nslookup:
nslookup - a.b.c.d
这不起作用吗?尝试使用 nslookup 查找其他已知良好的 DNS 服务器(如果可以访问),例如 4.2.2.2:
nslookup - 4.2.2.2
如果这可行,但 nslookup 本身不可行,我会获取像 Wireshark 这样的数据包捕获工具并查看协议级别上真正发生的情况。
答案2
临时解决方法:如果 web1/server1 具有静态 IP 地址,您可以在 DC 上静态定义一些额外的 A 名称。这有点狡猾 - 但如果需要尽快启动并运行,它可能会暂时起作用。
在域控制器上的 DNS 管理控制台 ( dnsmgmt.msc ) 中,在左侧窗格中展开 DC 并右键单击“正向查找区域”,然后选择“添加新区域”。然后,您可以将“web1”添加为正向查找区域。完成后,单击左侧窗格中的新“web1”,然后在右侧窗格中右键单击并添加新的静态“A”名称,该名称将所有内容 (*) 指向 web1 的实际静态 IP 地址。
这有两个问题:
- 最主要的是这个名称不再是动态的,如果您删除 Web1 或更改 Web1 的 IP 地址,您就必须删除/更新它。
- 另一个原因是,它实际上并没有解决根本问题,如果你需要添加另一台服务器,而同样的事情再次发生,那么一切将变得更加复杂