我最近将基于 Win2008R2 的旧域更新为基于 Win2019 的新域(具有常见的提升/降级/退役舞蹈)。这是一个非常小的办公室(3 人),所以这是一个单 DC 设置,旧的和新的 DC 都兼作文件服务器。
出于这个原因,我创建了一个 DNS 别名来将旧名称(即:)指向新名称(即olddc.example.com
:)newdc.example.com
。到目前为止,一切都很好:所有客户端都可以使用旧名称和新名称访问新的 DC/文件服务器。但是,我忘记将旧 DC 的名称(作为别名)正式添加到新 DC。换句话说,我没有发出类似的东西:
netdom computername newdc.example.com /add:olddc.example.com
今天我在新的 DC 上,由于肌肉记忆力不足,我试图通过旧名称(打开 Explorer 并写入\\olddc.example.com
)来获得它自己的份额。Explorer 立即抱怨“错误的凭证”,而且确实显示了 Wireshark 转储STATUS_LOGON_FAILURE
。我发出了netdom
上面的命令(添加olddc.example.com
为别名),问题就消失了:服务器现在可以通过旧名称查看自己的共享。
netdom
我知道并理解为什么应该通过(或通过单独的setspn
命令)添加备用/别名。然而,令我惊讶的是,即使没有提供这样的备用名称,所有 Win10 客户端都没有显示任何抱怨。
那么,为什么 Win10 客户端完全没有问题,而服务器立即从使用“未知”DNS 别名访问自己的共享中返回?是否由于服务器和客户端操作系统之间的一些不同设置?还是与访问环回共享有关?
环回 SMB 连接的处理方式确实与外部连接不同:https ://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/accessing-server-locally-with-fqdn-cname-alias-denied 。
(这篇文章引用了 Windows Server 2003,但它仍然适用。)
问题 在 Windows 机器上,文件共享可以通过计算机名称进行,有或没有完全限定,或者通过 IP 地址。但是,默认情况下,文件共享不会与任意 DNS 别名一起使用。要启用文件共享和其他 Windows 服务以使用 DNS 别名,您必须按照以下详细说明更改注册表并重新启动计算机。
解决方案 允许其他机器通过 DNS 别名使用文件共享 (DisableStrictNameChecking) 仅此更改将允许网络上的其他机器使用任意主机名连接到该机器。(但是,此更改将不允许机器通过主机名连接到自身,请参阅下面的 BackConnectionHostNames)。
• 编辑注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters 并添加一个 DWORD 类型的值 DisableStrictNameChecking 设置为 1。