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


81

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

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


我们将此技术用作有记录的热备份。与我相比,您在记录文档方面做得更好。我不知道backConnection选项。而且我们不使用netBIOS来减少攻击空间。我们也没有使用SPN。谢谢!
诺克斯

为了记录在案,我们每天都在组织中对Windows 2003和2008服务器使用带有DNA别名的Windows文件共享,而无需进行任何更改。它只是工作。
Ryan Bolger

还应注意,KB926642中的文本警告:“禁用身份验证环回检查并打开Windows Server 2003服务器以对NTLM进行中间人(MITM)攻击时,安全性将降低。”
Ryan Bolger

谢谢迈克尔。这回答了我的“我如何使Windows XP的Windows资源管理器能够在地址栏中接受CNAME别名?” 问题发布在这里(serverfault.com/questions/238851/…)。
詹森·皮尔斯

非常感谢你!!!这在具有XP Pro客户端的Server 2008 R2上尝试连接到文件共享。我有一个10岁的HP服务器(Server 2000)死了,所以我建立了一个VM服务器,将文件还原到其中,然后重新创建了共享。XP Pro客户端无法连接,并出现各种错误,但是我应用了上面的regedit,重新启动后,一切正常,再次感谢。

Answers:


67

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

这可以在Microsoft Windows计算机上工作,但是要使其与文件共享一起工作,需要采取以下配置步骤。

大纲

  1. 问题
  2. 解决方案
    • 允许其他计算机通过DNS别名使用文件共享(DisableStrictNameChecking)
    • 允许服务器计算机通过DNS别名(BackConnectionHostNames)自身使用文件共享
    • 提供多个NetBIOS名称(OptionalNames)的浏览功能
    • 为其他Windows功能(如打印(setspn))注册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并添加OptionalNames类型为Multi-String 的值
  2. 在以换行符分隔的名称列表中添加应在NetBIOS浏览条目下注册的名称
    • 名称应与NetBIOS约定匹配(即不是FQDN,仅是主机名)

为其他Windows功能(如打印(setspn))注册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

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

setspn -A host/your_ALIAS_name computername
setspn -A host/your_ALIAS_name.company.com computername

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

support.microsoft.com/kb/979602上记录了另一个可在Windows Server 2008R2 / Win7下运行的打印项目。您需要通过将名为“ DnsOnWire”的DWORD值添加到HKLM \ SYSTEM \ CurrentControlSet \ Control \ Print并将其设置为1来禁用为添加到别名计算机而添加的DNS优化,以支持在别名计算机上进行打印。然后重新启动后台打印程序服务。
nitzmahone 2012年


11

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

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

有关更多信息,请参见Microsoft的DFS概述

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.