我“继承”了一个古老的域(NT4,然后升级到 Win2000 混合模式,现在在 Win2003 上运行),其中 NetBIOS 名称与 DNS/FQDN 名称一致,这给我们需要加入域的远程客户端带来了问题。
让域名被称为EXAMPLE
:它是两个都NetBIOS 名称和DNS 名称,打开 DNS 管理面板即可看到。在本地 LAN 中,除了偶尔会出现对哪种协议解析机器名称的混淆外,这种安排似乎有效。
在远程 LAN(通过 VPN 连接)上,会出现问题:远程客户端无法连接到域。错误消息表明 DNS 查询正确返回了域控制器列表,但无法联系任何域服务器。从连接性的角度来看,所有端口都在 VPN 内部打开,因此这不是由于 ACL 等原因造成的。
相反,使用 Wireshark 检查交换的数据包时,我可以看到许多(失败的)NBNS
查询 - 换句话说,远程 PC 正在使用 NetBIOS 广播解析方法来查找域控制器。这显然会失败,因为 NetBIOS 在设计上是一种不可路由的协议。
简而言之,似乎在“域成员:”GUI 面板中输入 NetBIOS 样式的域名时,Windows 仅使用 NetBIOS 来解析/查找域控制器,没有 DNS 回退。在某种程度上,这甚至是可以预料到的:毕竟,EXAMPLE
不是一个有效的 DNS 名称(但是,我想知道为什么域创建向导在第一种情况下允许这种情况发生,但我离题了……)。
为了解决这个问题,我测试了一些解决方案:
- 完全避开问题,当 PC 位于我们的本地 LAN 上进行操作系统安装/准备时将其加入域(对于已部署在远程位置的客户端,显然无法做到这一点)
- 使用适当制作的
lmhosts
文件 - WINS 的安装和使用
最后一种方法 (WINS) 似乎更好,因为它避免将 (可能更改的)lmhosts
文件分发到远程客户端。但是,我想一劳永逸地解决这个问题。
所以,我的问题是:
- 我可以强制 Windows 使用 DNS 名称而不是 NetBIOS 吗(注意:我已尝试在 NIC 属性页上禁用 NetBIOS 名称解析,但无济于事)
- 在不彻底改变当前领域的情况下,这种情况能够正常化吗?
- 新的一个:我可以添加类似“DNS 域别名”之类的内容来为当前 AD 域分配正确格式的 FQDN 名称吗?
- 域名可以重命名吗?如果可以,那么这样做会遇到什么问题?
- 如果以上所有答案都是“否”,那么最好的方法是创建一个新的域,将当前的客户端/服务器逐步迁移到新的域上?
谢谢。
答案1
由于存在安全风险,WINS/Netbios 名称解析永远不应用于任何用途。此外,启用 Netbios 名称解析后,无论名称是否在 DNS 中可用,Windows 始终都会同时执行 Netbios/WINS 查找和 DNS 查找。如果环境中没有任何产品或应用程序会因域重命名而失败,那么这可能是一个选择。
您可能需要了解单标签 DNS 名称支持:
https://blogs.msmvps.com/acefekay/2009/11/12/active-directory-dns-domain-name-single-label-names/
不幸的是,您使用的 Windows (2003) 版本不再受支持。更现代的测试是使用 GlobalNames 区域进行平面/单标签名称解析,但您没有这样做。