Windows

Windows 文件資源管理器使用埠 80 (webdav) 而不是 445 (samba smb cifs) 作為 UNC 路徑

  • April 7, 2022

我有一台 Windows 7 Ultimate x86_64 機器,它無法訪問網路 samba 伺服器。我啟動“執行”對話框,然後輸入,\\192.168.x.x這樣我就繞過了 DNS 和 NetBIOS 名稱解析和廣播發現,直接進入伺服器 IP 地址。我執行了wireshark,發現客戶端試圖連接到伺服器的埠是80,而不是445。(這當然失敗,因為伺服器沒有監聽80;伺服器只執行samba和nmbd等,所以只有埠445和 137-139 適用)。

我知道這個問題,我不相信這是重複的,因為(a)這個問題在 Win XP 上已經超過 2 年了,並且(b)在這種情況下沒有任何答案有幫助,儘管其他問題已標記為已回答。

錯誤消息是: Windows Cannot Access \\192.168.x.x當我點擊“查看詳細資訊”時,它說Error Code 0x800704cf The network location cannot be reached

我確認存在並啟用**了 Microsoft 網路客戶端。**我什至將其刪除(被迫重新啟動)並重新安裝。沒有效果。

我禁用了 IPv6,沒有效果。

我確認WebClient服務沒有執行。(它設置為手動,並且沒有執行)。

我確認TCP/IP NetBIOS Helper服務正在執行。(它設置為自動,並且正在執行。)

當然,我已經重新啟動並重試了。(幾次和幾種方式)。

該問題似乎存在於舊更新檔級別,並且在應用所有 Windows 更新後也繼續存在。

為什麼 Windows 會嘗試使用埠 80 (webdav) 而不是埠 445 (samba/smb/cifs) 將文件資源管理器連接到 UNC 路徑?

net view 192.168.x.x在受影響的客戶端上引發錯誤消息:

C:\Windows\system32>net view 192.168.x.x
System error 53 has occurred.

The network path was not found.


C:\Windows\system32>ping 192.168.x.x

Pinging 192.168.x.x with 32 bytes of data:
Reply from 192.168.x.x: bytes=32 time<1ms TTL=64
Reply from 192.168.x.x: bytes=32 time<1ms TTL=64

但在另一個客戶端上工作正常:

C:\Users\eharvey>net view 192.168.x.x
Shared resources at 192.168.x.x

netfiles server (Samba, Ubuntu)

Share name  Type  Used as  Comment

-------------------------------------------------------------------------------
myshare     Disk           My Company data storage
The command completed successfully.

如果數據包擷取顯示沒有超過 445 的嘗試,則表明客戶端首先嘗試 WebDav。這可能是因為 WebDav 在 Network Provider Order 中較高。要檢查:

  • 打開網路連接
  • 高級菜單
  • 高級設置…

網路連接 → 高級 → 高級設置…

  • 提供者訂單選項卡
  • 確保Microsoft Windows 網路高於Web 客戶端網路

“高級設置”視窗。 “提供者訂單”選項卡

我知道您已嘗試為 Microsoft 網路重新安裝客戶端,但如果您不需要它,請在每個客戶端上執行以下操作:

  1. 打開“網路連接”。
  2. 在您希望連接到 samba 共享的每個適配器上:
  3. 右鍵點擊並選擇“屬性”取消勾選“Microsoft 網路客戶端”
  4. 導航至:網路連接 > 高級 > 高級設置 > 適配器和綁定
  5. 驗證“Microsoft 網路客戶端”現在位於底部且未選中
  6. 現在轉到提供商訂單選項卡並確保“Web 客戶端網路”位於網路提供商列表的底部。
  7. 重新啟動電腦並嘗試再次連接到主機。

您也可以嘗試阻止埠 80 或將其重定向到埠 445。

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