如何配置 Windows 机器以允许使用 DNS 别名共享文件

Mic*_*nte 82 domain-name-system windows file-sharing alias netbios

配置 Windows 环境以允许我使用 DNS CNAME 来引用服务器需要什么过程?

我想这样做,以便我可以将我的服务器命名为 SRV001,但仍然\\file 指向该服务器,因此当 SRV002 替换它时,我不必更新人们拥有的任何链接,只需更新 DNS CNAME 和每个人将指向新服务器。

Mic*_*nte 69

为了促进故障转移方案,一种常见的技术是为不同的机器角色使用 DNS CNAME 记录(DNS 别名)。然后,不是更改实际机器名称的 Windows 计算机名称,而是可以切换 DNS 记录以指向新主机。

这可以在 Microsoft Windows 机器上工作,但要使其与文件共享一起工作,需要执行以下配置步骤。

大纲

  1. 问题
  2. 解决方案
    • 允许其他机器通过 DNS 别名使用文件共享 (DisableStrictNameChecking)
    • 允许服务器计算机通过 DNS 别名 (BackConnectionHostNames) 与自身使用文件共享
    • 为多个 NetBIOS 名称(OptionalNames)提供浏览功能
    • 为打印 (setspn) 等其他 Windows 功能注册 Kerberos 服务主体名称 (SPN)
  3. 参考

1. 问题

在 Windows 机器上,文件共享可以通过计算机名称(有或没有完全限定)或 IP 地址进行。但是,默认情况下,文件共享不适用于任意 DNS 别名。要启用文件共享和其他 Windows 服务以使用 DNS 别名,您必须按照以下详述进行注册表更改并重新启动计算机。

2. 解决方案

允许其他机器通过 DNS 别名使用文件共享 (DisableStrictNameChecking)

仅此更改将允许网络上的其他机器使用任意主机名连接到该机器。(但是,此更改将不允许机器通过主机名连接到自身,请参阅下面的 BackConnectionHostNames)。

  • 编辑注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters并添加一个DisableStrictNameCheckingDWORD 类型设置为 1 的值。

  • 编辑注册表项(在 2008 R2 上)HKLM\SYSTEM\CurrentControlSet\Control\Print并添加一个DnsOnWireDWORD 类型设置为 1 的值

允许服务器计算机通过 DNS 别名 (BackConnectionHostNames) 与自身使用文件共享

此更改对于 DNS 别名与来自机器的文件共享一起使用以找到自身而言是必要的。这将创建可在 NTLM 身份验证请求中引用的本地安全机构主机名。

为此,请对客户端计算机上的所有节点执行以下步骤:

  1. 到注册表子项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0,添加新的多字符串值BackConnectionHostNames
  2. 在“数值数据”框中,键入用于计算机上本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
    • 注意:在单独的行中键入每个主机名。

为多个 NetBIOS 名称(OptionalNames)提供浏览功能

允许在网络浏览列表中查看网络别名。

  1. 编辑注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters并添加OptionalNamesMulti-String 类型的值
  2. 添加应在 NetBIOS 浏览条目下注册的名称的换行分隔列表
    • 名称应符合 NetBIOS 约定(即不是 FQDN,只是主机名)

为打印 (setspn) 等其他 Windows 功能注册 Kerberos 服务主体名称 (SPN)

注意:为了使基本功能正常工作,应该不需要这样做,这里记录的完整性。我们遇到过一种 DNS 别名不起作用的情况,因为有旧的 SPN 记录干扰,所以如果其他步骤不起作用,请检查是否有任何杂散的 SPN 记录。

您必须为所有新的 DNS 别名 (CNAME) 记录注册 Kerberos 服务主体名称 (SPN)、主机名和完全限定域名 (FQDN)。如果不这样做,对 DNS 别名 (CNAME) 记录的 Kerberos 票证请求可能会失败并返回错误代码KDC_ERR_S_SPRINCIPAL_UNKNOWN

要查看新 DNS 别名记录的 Kerberos SPN,请使用 Setspn 命令行工具 ( setspn.exe)。Setspn 工具包含在 Windows Server 2003 支持工具中。您可以从 Windows Server 2003 启动盘的 Support\Tools 文件夹安装 Windows Server 2003 支持工具。

如何使用该工具列出计算机名的所有记录:

setspn -L computername
Run Code Online (Sandbox Code Playgroud)

要为 DNS 别名 (CNAME) 记录注册 SPN,请使用具有以下语法的 Setspn 工具:

setspn -A host/your_ALIAS_name computername
setspn -A host/your_ALIAS_name.company.com computername
Run Code Online (Sandbox Code Playgroud)

3. 参考文献

所有 Microsoft 参考都通过以下方式工作:http : //support.microsoft.com/kb/

  1. 连接到基于 Windows 2000 的计算机或基于 Windows Server 2003 的计算机上的 SMB 共享可能无法使用别名
    • 涵盖使用 DNS 别名记录从其他计算机到服务器计算机使文件共享正常工作的基础知识。
    • KB281308
  2. 在安装 Windows Server 2003 Service Pack 1 后尝试使用其 FQDN 或其 CNAME 别名在本地访问服务器时出现错误消息:“拒绝访问”或“没有网络提供商接受给定的网络路径”
    • 介绍如何使 DNS 别名与文件服务器本身的文件共享一起使用。
    • KB926642
  3. 如何在 Windows Server 2003 和 Windows 2000 Server 中使用 DNS 别名 (CNAME) 记录合并打印服务器
    • 涵盖更复杂的场景,其中可能需要更新 Active Directory 中的记录才能使某些服务正常工作和浏览此类服务才能正常工作,以及如何注册 Kerberos 服务主体名称 (SPN)。
    • KB870911
  4. 分布式文件系统更新以支持 Windows Server 2003 中的整合根
    • 使用 DFS 涵盖更复杂的场景(讨论 OptionalNames)。
    • KB829885


Joe*_*Joe 11

使用冗余进行 Windows 文件共享的另一种方法是使用带复制的分布式文件系统 (DFS-R)。为了实现这一点,您的文件服务器上至少需要 Windows Server 2003 R2。

您设置 DFS 根,然后可以指定多个服务器提供单个共享。如果其中一台服务器出现故障,使用它的客户端将自动故障转移到其他服务器之一。

有关详细信息,请参阅 Microsoft对 DFS概述