修复 Samba (SMB) 的 0x80004005 和 0x80070035 错误

修复 Samba (SMB) 的 0x80004005 和 0x80070035 错误

跑在 iKuai 上的本来好好的 Samba 共享,因为调了一下匿名访问后,客户机再也连不上 Samba 共享了(之前也有随机连不上的问题出现),找了一点时间仔细研究了一下。

跑在 iKuai 上的本来好好的 Samba 共享,因为调了一下匿名访问后,客户机再也连不上 Samba 共享了(之前也有随机连不上的问题出现),找了一点时间仔细研究了一下。

 节约你的时间,开始之前仔细检查
如果你的手头有一台 Linux 操作系统的设备或者虚拟机,那么在进行故障排查之前,最好在 Linux 的系统中尝试挂载你的 Samba 服务,以便排除 Samba 服务本身故障。
Windows 下的 Samba 充满了玄学,最好先从简单的入手。

开始之前:
* 确认 Samba 服务已经启动
* 确认目标 Samba 端口防火墙已被放行
* 在 Linux 看看能不能挂载上

都可以?那么就可以开始动手了。

禁用 Microsoft 网络客户端强制通信数字签名

Win+S,输入 secpol.msc,以管理员身份启动本地安全策略管理控制台。

转到 “本地策略 -> 安全选项”,将 Microsoft 网络客户端:对通信进行数字签名(如果服务器允许)Microsoft 网络客户端:对通信进行数字签名(始终) 的安全设置设为 已禁用

继续向下滚动,找到 网络安全:LAN 管理器身份验证级别,设置为 发送 LM 和 NTLM - 如果已协商,则使用 NTLMv2 会话安全 (& )

允许 Samba 匿名登陆

Win+S,输入 cmd.exe,以管理员身份运行命令提示符。

粘贴并执行下面的注册表编辑语句:

reg add HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters /v AllowInsecureGuestAuth /t reg_dword /d 00000001 /f

确保已安装 Microsoft 网络客户端协议

在网络适配器对话框中检查,确保 Microsoft 网络客户端Micorosoft 网络的文件和打印机共享 已被勾选安装。

如果没有看到这两个项目,点击 安装... 来安装对应的客户端和服务。

启用 SMBv1 协议

一般来说,目前各个NAS、服务器系统和路由系统提供的都是 SMBv2 或者更高版本,该步骤实际上并不是非常需要。

如果上述步骤不奏效,也可以试试看启用 SMBv1 协议。

Win+S,输入 启用或关闭 Windows 功能

值得一提的是,SMB 1.0 协议已经非常不安全了,除非是历史遗留问题,否则尽量升级到 SMBv2 或者更高版本。

避免使用 NETBIOS 访问

尽量避免使用 \\<主机名> 访问,该功能能否正常工作全看一个玄学。(好在我这里工作正常)

如果是内网环境,尝试直接使用 \\IPV4地址 进行访问,避免被路由到奇怪的 IPV6 地址上去。

如果要使用 NETBIOS,则必须启用网络发现。最简单的方式是切换到 “专用网络” 上。

结束

至此,Samba 共享现在可以正常使用了,网络驱动器也可以正常进行挂载。

除特殊说明以外,本站原创内容采用 知识共享 署名-非商业性使用 4.0 (CC BY-NC 4.0) 许可。转载时请注明来源,以及原文链接。
Comment