
有人知道為什麼無法使用解析為相同 IP 位址的不同名稱來存取同一台電腦中的本機 Windows 共用(例如 c$)。
例子:
Computer Name: COMP-1
IP Address: 192.168.1.2
Hosts File Entry: 192.168.1.2 COMP-2
我可以\\COMP-1\C$
從內部訪問COMP-1
,但\\COMP-2\C$
即使它指向相同的IP位址(即它本身),我也無法訪問。它總是會要求提供憑證,但這是行不通的。
應該注意的是,如果COMP-1
和COMP-2
被添加到 DNS,則其他系統可以使用任一名稱存取共用,但不能從本機電腦內部存取。
答案1
的引用\\COMP-2\C$
不起作用,因為 Windows 專門對其進行了測試並要求使用者憑證。
此檢查是為 Windows Server 2003 Service Pack 1 添加的,可能是出於一些晦澀的安全原因,可以在知識庫文章中找到,名稱相當長:
安裝 Windows Server 2003 Service Pack 1 後嘗試使用伺服器的 FQDN 或其 CNAME 別名在本機存取伺服器時出現錯誤訊息:“存取被拒絕”或“沒有網路供應商接受給定的網路路徑”
其效果是檔案共用可以透過電腦名稱(無論是否完全限定)或透過 IP 位址進行。但是,預設情況下,檔案共用不適用於任意 DNS 別名。若要使檔案共用和其他 Windows 服務能夠使用 DNS 別名,您必須按如下所述進行登錄機碼變更並重新啟動電腦。
- 點選開始, 點選跑步,鍵入
regedit
,然後按一下「確定」。- 找到並點選以下註冊表子項目:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右鍵單擊
MSV1_0
,指向 新的,然後按一下多字串值。- 在裡面姓名列中,鍵入
BackConnectionHostNames
,然後按 Enter。- 右鍵單擊
BackConnectionHostNames
,然後單擊修改。在裡面價值在資料框中,鍵入用於電腦上本機共用的 CNAME 或 DNS 別名,然後按一下好的。
注意 在單獨的行中鍵入每個主機名稱。
注意如果
BackConnectionHostNames
註冊表項以 REG_DWORD 類型存在,則必須刪除該BackConnectionHostNames
註冊表項。退出註冊表編輯器,然後重新啟動電腦。
我已經測試了這篇 15 年前的知識庫文章,它仍然有效,並且不需要重新啟動電腦。如果BackConnectionHostNames
包含COMP-2
,則不需要憑證。
令我驚訝的是,刪除後BackConnectionHostNames
,仍然不需要憑證,因為它們可能是當時隱式產生的,並且仍然被 Windows 記住。