我有一台 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 网络重新安装客户端,但如果您不需要它,请在每个客户端上执行以下操作:
打开“网络连接”。
在您希望连接到 samba 共享的每个适配器上:
右键单击并选择“属性”取消勾选“Microsoft 网络客户端”
导航至:网络连接 > 高级 > 高级设置 > 适配器和绑定
验证“Microsoft 网络客户端”现在位于底部且未选中
现在转到提供商订单选项卡并确保“Web 客户端网络”位于网络提供商列表的底部。
重新启动计算机并尝试再次连接到主机。
您也可以尝试阻止端口 80 或将其重定向到端口 445。
您应该检查您的“TCP/IP NetBIOS Helper”服务。当此服务崩溃且 Web 客户端存在时,它将尝试访问 WebDAV 上的 UNC 路径(tcp 端口 80)。
重新启动“TCP/IP NetBIOS Helper”服务,然后将 tcp 端口 445 用于 UNC 路径。
Microsoft TechNet 上的相同问题:连接到端口 80 上的文件共享?
我遇到了这种情况(网络使用回退到 WebDAV 而不是使用 SMB3),我在这里对我的传奇进行了分类诊断和修复: https ://twitter.com/MissQuickstep/status/1413291157921087489
TL;博士; 对于我的情况,结果是错误的 Windows 防火墙规则导致 SMB3 失败(但不会被阻止 - 您不会在 Windows Defender 防火墙日志中找到被阻止的数据包!)。
就我而言,原因似乎可能是来源不明的 GPO 错误。
如果您遇到与我相同的问题,您有两种选择(取决于您的目标/优先事项):
我很确定我遇到了和你一样的问题。我很幸运,因为它已经解决了。但我不太确定哪一步解决了这个问题。(因为当我的电脑重新启动并启动时它才解决)
*注意:没有这些部分,重新启动将无法解决任何问题这是我所做的: - 删除所有ip6 隧道适配器(使用设备管理器一一卸载) - 使用 regedit 禁用 ip6 - 通过 TCP/IP 启用 NetBIOS - 卸载- 安装“Microsoft 网络客户端” - 在网络适配器属性中禁用 ip6 - 关闭防火墙 + AV(客户端和服务器) - 删除任何网络接口共享(如果已配置) - 删除 Microsoft 网桥(如果有) - 禁用所有网络接口(您将用于连接的接口除外) - 重新启动
我希望我不会在这里错过任何东西,对不起,我没有在那里记录我的工作。如果我的解决方案有效,需要您的反馈,谢谢。