Samba 网络发现通过文件管理器失败,但可以使用 smbtree

Samba 网络发现通过文件管理器失败,但可以使用 smbtree

在文件管理器(Caja、Nautilus、PCManFM、Dolphin)中,在网络有一个条目视窗网络但双击它会弹出一个包含 0 个项目的空窗口。

但是,smbtree确实列出了本地网络中在线的(Windows 和 Linux)计算机主机、它们的工作组以及从它们共享的目录和打印机。

在文件管理器中,我可以使用位置地址smb://[HOST_IP]/[SHARE_DIRECTORY]并且它可以工作。但是,smb://[HOST_IP]如果没有目录,就会报错:

错误:无法从服务器检索共享列表:参数无效。请选择其他查看器并重试。


编辑: 有许多与 samba 配置相关的类似错误报告(这可能仍然是这里的问题)。然而,较新的错误报告表明这可能与 samba 和 Microsoft 弃用旧协议 (SMB1) 有关:https://dev.solus-project.com/T1223据称这个新问题出现在 4.6.10 之后的 samba 版本上。

请注意,出现此问题的计算机运行的是 Fedora 28 和 samba 4.8.3。同一网络上另一台可以成功浏览共享的计算机是 Ubuntu 16.04 和 samba 4.3.11-Ubuntu。

编辑:它在 Fedora 36 和 samba 4.16.8 上不起作用。甚至smbtree不再起作用,并打印以下消息:

main:如果未配置 netbios 名称解析,此实用程序将不起作用。如果您使用 SMB2 或 SMB3,网络浏览将使用 Samba 尚不支持的 WSD/LLMNR。出于安全原因,SMB1 在最新的 Windows 版本上默认处于禁用状态。仍然可以通过 \name 或 \ip.address 直接访问 Samba 资源。

答案1

潜在问题#1 - 解决订单

听起来 NMB 的问题正在解决。在这个标题为的帖子中提到了这一点:Nautilus 看不到网络计算机...[已解决]

非发现解决顺序
# What naming service and in what order should we use to resolve host names
# to IP addresses
name resolve order = lmhosts host wins bcast
报告工作解决顺序
name resolve order = bcast lmhosts host wins

进行此更改后,请务必重新启动 NMB/SMB 服务。

潜在问题#2 - 客户端协议

进一步研究你的问题,我在这个 AU 问答中发现了这个技巧,标题为:鹦鹉螺未能在 18.04 看到股票。那里的提示是更改以下内容:

$ more /etc/samba/smb.conf
workgroup = WORKGROUP
client max protocol = NT1

进行上述更改后,建议重新启动,而不是简单地重新启动。

作为本技巧的一部分,请确保 avahi 服务正在运行:

$ sudo service avahi-daemon status
$ sudo service avahi-demon start

潜在问题#3——firewalld

根据这篇 Askfedora.org 文章,标题为:fedora 27 网络浏览不起作用。为什么?建议尝试禁用firewalld。它可能会禁止 Samba 的 NMB/SMB 服务正常运行所需的端口 137-139。

潜在问题 #4 - gvfs 的错误 1513394

继续搜索导致此问题仍列为待解决。该问题的标题为:错误 1513394 - 使用 gvfs 的应用程序无法浏览 SMB 共享。它与 gvfs-smb 软件包有关。

使用 gvfs 的应用程序无法浏览 SMB 共享

这些步骤可用于查看问题是否影响您的系统。

重现步骤:

1. nmblookup -M -- -
2. nmblookup -M workgroup
3. smbtree
4. gio list network://
5. gio list smb:///
6. gio list smb://workgroup

如果不起作用,上述步骤的结果将如下所示:

1. will return IP address for __MSBROWSE__ special name
2. will return IP address for workgroup master browser
3. will correctly list workgroup, workgroup members and their shares
4. returned items are missing workgroup members
5. will return empty
6. will return an error message "The specified location is not mounted"

如果一切正常,结果将如下所示:

1. OK
2. OK
3. OK
4. returned items should contain workgroup members
5. should contain workgroup name
6. should contain workgroup members

应该指出的是,目前似乎还没有解决这个问题的方法:

根据记录,它在 Fedora 28 和 Samba 4.8 中也不起作用。

阅读有关该问题的评论以了解故事的其余部分。

参考

答案2

该问题现已在具有 Samba 版本 4.10.2 的 Fedora 30(MATE 桌面环境)上得到解决!

位置 -> 网络现在显示 Windows 工作组和连接的计算机。通过文件管理器浏览共享目录。一切似乎再次如期而至。

编辑:它不再工作了,至少在 Fedora 36 上是这样。

相关内容