这真让我抓狂。
我有一个从 Windows 8.1 访问的文件共享(称之为“svrname”)。
- 如果我输入
net view \\svrname
cmd.exe,它会成功并提供共享列表。 - 如果我输入
\\svrname
explorer.exe,就会出现众所周知的错误"\\svrname is not accessible. You may not have permission"
- 如果我在 Explorer.exe 中输入
\\10.x.x.x
(\svrname 的 IP),它会要求输入用户名和密码,然后就可以正常工作。该条目显示在“凭据管理器”中。 - 基于此,浏览基本正常,查找存在问题,我尝试
svrname
在凭据管理器中输入相同的主机或 FQDN,否则输入相同的名称+密码。我确实得到了上面的错误。这表明这是一个查找问题,但是 ------- 当我svrname
通过主机或 FQDN ping 或使用 nslookup 时,它毫无困难地找到了 IP,这表明不是。
我尝试使用 wireshark 进行故障排除,但不清楚我需要寻找什么。
更新- @ddbug,Samba 4.6。Samba 日志显示(wireshark 确认)所有数据包都已到达。nmbd/smbd 日志(以及 Wireshark 中的客户端 SMB 数据包内容)有点奇怪,对我来说完全没有意义,我搞不清楚它们试图告诉我的根本问题是什么。但那将是相当多的数据。
我看到的两个可能的问题是服务器有时会报告它无法找到自己的工作组<1b>,但我无法判断这是否是真正的错误(可能是其中之一?),并且客户端在某些情况下似乎没有传递域/用户的凭据,即使它显然已经获得了这些凭据(以多种格式和条目),我也不明白为什么没有。
更新 2- 没有 LDAP、AD 或其他身份验证,只有 samba 或什么都没有。有一个本地域(称之为thislan.xyz
)和 dhcp+dns,但没有目录服务。用户访问本身(包括密码)很好,因为我可以 100% 通过 IP 浏览,并且禁用 null 和 guest。
我看到的部分情况是,客户端向服务器发出的相关初始 SMB 身份验证请求似乎并不总是包含用户或域,它们是空字段。我完全无法理解这一点,这似乎是其中很大一部分原因。它们怎么可能是空的?他们从哪里获取数据(它们应该包含这些字段)来跟踪它?我找不到任何地方缺少这些数据,没有正确输入这些数据。