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


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

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


78
2018-06-11 02:24




我们使用这种技术记录在案 热备用。记录它比你做得好得多。我不知道backConnection选项。我们通过不使用netBIOS来减少攻击空间。我们也没有使用SPN。谢谢! - Knox
为了记录,我们在组织中每天对2003和2008服务器使用带有DNA别名的Windows文件共享,而无需进行任何这些更改。它只是有效。 - Ryan Bolger
还应该注意的是,KB926642中的文本警告说,“当您禁用身份验证环回检查时,安全性会降低,并且您在NTLM上打开Windows Server 2003服务器进行中间人(MITM)攻击。” - Ryan Bolger
谢谢迈克尔。这回答了我的问题“如何启用Windows XP的Windows资源管理器以接受地址栏中的CNAME别名?”问题贴在这里(serverfault.com/questions/238851/...)。 - Jason Pearce
非常感谢你!!!这适用于Server 2008 R2,XP Pro客户端尝试连接到文件共享。我有一个10岁的HP服务器(Server 2000)死在我身上,所以我建立了一个VM服务器,将文件恢复到它,并重新创建了共享。 XP专业版客户端无法连接variuos错误,但我应用了上面的regedit,重新启动,一切正常,再次感谢。


答案:


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

这可以在Microsoft Windows计算机上运行,​​但要使其与文件共享一起使用,需要执行以下配置步骤。

大纲

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

1.问题

在Windows机器上,文件共享 能够 通过计算机名称工作,有或没有完全资格,或通过IP地址。但是,默认情况下,文件共享 不管用 使用任意DNS别名。要使文件共享和其他Windows服务能够使用DNS别名,您必须按照下面的详细说明进行注册表更改并重新启动计算机。

2.解决方案

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

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

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

  • 编辑注册表项(在2008 R2上) HKLM\SYSTEM\CurrentControlSet\Control\Print 并添加一个值 DnsOnWire DWORD类型设置为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 多字符串类型
  2. 添加应在NetBIOS浏览条目下注册的换行符分隔的名称列表
    • 名称应符合NetBIOS约定(即不是FQDN,只是主机名)

为其他Windows功能注册Kerberos服务主体名称(SPN),如Printing(setspn)

注意:不需要执行此操作以使基本功能起作用,此处记录为完整性。我们有一种情况,其中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

65
2018-06-11 02:25



在Windows Server 2008R2 / Win7下打印的另一个项目记录在 support.microsoft.com/kb/979602。您需要通过向HKLM \ SYSTEM \ CurrentControlSet \ Control \ Print添加名为“DnsOnWire”的DWORD值来禁用他们添加的DNS优化以支持打印到别名计算机,并将其设置为1.然后重新启动Print Spooler服务。 - nitzmahone
我编辑的来源: serverfault.com/q/396598/2869 - Joel Coel


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

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

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


10
2018-06-11 22:36