为什么 mac 跨网段访问群晖 SMB 失败后,同网段访问下就进行跨网段访问成功了

210 天前
 preformed

网络环境

PVE 内

PVE 内除了 OpenWrt wan 口桥接vmbr0获取 1 段 IP , 其他的 lxc 和 vm 都是桥接 OpenWrt lan 口的 vmbr1 获取到 3 段 IP 。

问题经过

之前是给黑群晖分了两个网络设备( vmbr0(1 段),vmbr1(3 段)),所以电脑和 PVE 的虚拟机都可以访问 smb 。 重新安装升级 DSM 7.2 后只保留了 vmbr1(3 段)接入。使用电脑访问 smb://192.168.3.204 输入用户名密码后一直无法打开,抓包显示:

163	25.022285	192.168.3.204	SMB2	269	100.95.223.87	Session Setup Response, Error: STATUS_MORE_PROCESSING_REQUIRED, NTLMSSP_CHALLENGE

172	29.276905	192.168.3.204	SMB2	129	100.95.223.87	Session Setup Response, Error: STATUS_LOGON_FAILURE

搜索只查到好像是协议校验错误,不知道如何解决。

想着恢复原来双网口的方案,给黑群晖增加了 vmbr0(1 段)的网络设备,然后在电脑端连黑群晖 1 段的 IP 可以正常访问,重新连黑群晖 3 段的 IP 也可以正常访问。 感觉有点怪,断掉黑群晖 1 段的网络后,电脑仍然可以通过 3 段访问黑裙的 smb 。

utnn 抓包

https://i.postimg.cc/ydFkT7zd/image.png


实在是能力有限知道太少,隐隐猜测是NTLMSSP_CHALLENGE认证的问题,但是是什么原理不清楚,各位大佬请指点指点,万分感谢🙏

557 次点击
所在节点    macOS
1 条回复
geyee
59 天前
是否需要启用 NTLMv2 协议来进行 samba 访问。我之前遇到 windows 11 访问 pve 共享提示 用户名或密码错误的问题,抓包发现类似 status_more_processing_required, ntlmssp_challenge 的信息。通过修改组策略的就可以访问了——
本地计算机 策略-计算机配置-Windows 设置-安全设置-本地策略-安全选项-网络安全:基于 LAN 管理器身份验证级别:将 发送 LM 和 NTLM 响应(&) 调整为 仅发送 NTLMv2 响应,拒绝 LM 和 NTLM(&)。
我看到 https://discussions.apple.com/thread/255234671?sortBy=best 提到 修改 /etc/nsmb.conf 文件的设定 protocol_vers_map=2 来强制使用 SMB v2 协议来访问服务。以及 https://discussions.apple.com/thread/2369451?sortBy=best 设定 minauth=ntlmv2 来强制使用 NTLM v2 协议,估计可以尝试看看。
至于同局域网可以访问,但是使用 tailscale 或 zerotier 等 vpn 的同虚拟网段反而不可以,我看到一种说法是局域网优先使用了 netbios ,各情况使用了不同的协议,估计可以抓包对比看看。(题主所说的启用 3 段 IP ,又断掉后依然可以访问 smb 的问题,大概也需 tcpdump 等抓包理解了)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX