我在 Active Directory 网络中支持混合使用 Windows XP Pro 和 Windows 7 桌面,但在 XP 和 CNAME 记录方面遇到了一个奇怪的问题。
假设我的 DNS 中有一条记录,记录的服务器名称为 STORAGE.company.local,并为其指定 CNAME NAS.company.local。我可以进入 XP 和 7 计算机,然后 ping NAS,它会自动解析为 STORAGE.company.local。如果我在 Windows 7 上,然后运行并输入 \\STORAGE 或 \\NAS,它将转到 Explorer 中的该服务器。如果我在 XP 中执行相同操作,STORAGE 可以工作,但 NAS 不能。它只是超时
XP 中是否存在一些设置可以使其正常工作?
答案1
您正在查看两种不同的名称解析。当您向主机名发出 ping 命令时,您将使用标准 TCP 查找序列(自己的主机名、主机文件、dns 服务器)。这适用于 XP 和 Vista/7。这就是 A 和 CNAME 都有效的原因
当您在名称前面加上双斜杠“\\”时,您就是在告诉 Windows 您想要使用 NetBIOS 名称解析与 NetBIOS 设备通信。在 XP 上,NetBIOS 名称解析顺序为(netbios 缓存、lmhosts 文件、WINS 服务器、广播)。在您的示例中,NAS 是 DNS 中的 CNAME,而不是 NetBIOS 名称。请注意,在解析顺序中,NetBIOS 不使用 DNS 进行名称查找。
如果您希望 XP 机器将“NAS”解析为 NetBIOS 名称,则需要将其添加到 WINS 服务器或每台机器的本地 lmhosts 文件中。
看着http://technet.microsoft.com/en-us/library/bb727013.aspx开始。
答案2
我不确定我是否同意 NetBIOS 的答案。我必须将值添加DisableStrictNameChecking
到注册表才能使 CNAME 文件共享正常工作。以下支持文章引用了 Windows 2000 和 2003,但根据我的经验,也适用于 XP 和 Server 2008:
http://support.microsoft.com/kb/281308
编辑:文件服务器上需要此功能,因此无需在 XP 机器上进行更改。