Windows

如何配置 Windows 機器以允許與 DNS 別名共享文件

  • May 31, 2017

配置 Windows 環境以允許我使用 DNS CNAME 來引用伺服器需要什麼過程?

我想這樣做,以便我可以將我的伺服器命名為 SRV001,但仍然\\file 指向該伺服器,所以當 SRV002 替換它時,我不必更新人們擁有的任何連結,只需更新 DNS CNAME 和每個人將指向新伺服器。

為了促進故障轉移方案,一種常見的技術是將 DNS CNAME 記錄(DNS 別名)用於不同的機器角色。然後,無需更改實際機器名的 Windows 電腦名,而是可以切換 DNS 記錄以指向新主機。

這可以在 Microsoft Windows 機器上執行,但要使其與文件共享一起使用,需要執行以下配置步驟。

大綱

  1. 問題
  2. 解決方案
  • 允許其他機器通過 DNS 別名使用文件共享 (DisableStrictNameChecking)
  • 允許伺服器機器通過 DNS 別名 (BackConnectionHostNames) 與自己使用文件共享
  • 為多個 NetBIOS 名稱提供瀏覽功能(OptionalNames)
  • 為列印 (setspn) 等其他 Windows 功能註冊 Kerberos 服務主體名稱 (SPN)
  1. 參考

1.問題

在 Windows 機器上,文件共享可以通過電腦名稱進行,有或沒有完全限定,或者通過 IP 地址。但是,預設情況下,文件共享不會與任意 DNS 別名一起使用。要啟用文件共享和其他 Windows 服務以使用 DNS 別名,您必須按照以下詳細說明更改系統資料庫並重新啟動電腦。

  1. 解決方案 =======

允許其他機器通過 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

要為 DNS 別名 (CNAME) 記錄註冊 SPN,請使用具有以下語法的 Setspn 工具:

setspn -A host/your_ALIAS_name computername
setspn -A host/your_ALIAS_name.company.com computername
  1. 參考文獻 =======

所有 Microsoft 參考資料均通過以下方式工作:http: //support.microsoft.com/kb/

  1. 在基於 Windows 2000 的電腦或基於 Windows Server 2003 的電腦上連接到 SMB 共享可能無法使用別名
  • 涵蓋使文件共享與從其他電腦到伺服器電腦的 DNS 別名記錄正常工作的基礎知識。
  • KB281308
  1. 當您在安裝 Windows Server 2003 Service Pack 1 後嘗試使用其 FQDN 或其 CNAME 別名在本地訪問伺服器時出現錯誤消息:“訪問被拒絕”或“沒有網路提供商接受給定的網路路徑”
  • 涵蓋如何使 DNS 別名與文件伺服器本身的文件共享一起使用。
  • KB926642
  1. 如何在 Windows Server 2003 和 Windows 2000 Server 中使用 DNS 別名 (CNAME) 記錄來整合列印伺服器
  • 涵蓋更複雜的場景,其中可能需要更新 Active Directory 中的記錄以使某些服務正常工作以及瀏覽此類服務以正常工作,如何註冊 Kerberos 服務主體名稱 (SPN)。
  • KB870911
  1. 分佈式文件系統更新以支持 Windows Server 2003 中的整合根
  • 使用 DFS 涵蓋更複雜的場景(討論 OptionalNames)。
  • KB829885

引用自:https://serverfault.com/questions/23823