在从 10.04 升级到 11.10 之前,我的 Ubuntu 桌面不再允许我访问我的 Windows 共享目录。我以为我会升级到 11.10,然后问题就会得到解决,但没有。
每当我使用 Nautilus 单击 Windows 网络域时,都会弹出以下消息:
无法挂载位置 - 无法从服务器检索共享列表
我该从哪里开始解决这个问题?我现在很绝望 :(
我试过
sudo mount -t cifs //SomeMachine/SomeShare some_directory
我得到了
mount error(115): Operation now in progress
奇怪的是,我收到一个弹出窗口,内容如下:
Could not display network:/// Error: Dbus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply ...
答案1
我发现 Gord Nickerson 的这个建议对我有用:错误消息是“无法从服务器检索共享列表”,因此它无法浏览 Windows 7 电脑、Ubuntu 10 电脑或 Mac 台式电脑。
首先,Samba 守护进程smbd
和nmbd
必须同时运行才能进行网络浏览。它们可以使用 来启动service
,systemctl start
对于较新的基于 systemd 的 Ubuntu 版本,可以使用 来启动。
smbtree
列出网络上机器的所有共享。
所以,/etc/samba
我们出发了sudo pico smb.conf
。
名称解析顺序首先使用主机文件,最后使用广播,并且已注释掉!也许我们可以将其更改为:
name resolve order = bcast host
service smbd restart
然后使用和重新启动服务器service nmbd restart
有效!这是升级过程中犯的一个严重错误。升级不应该破坏正在运行的功能,尤其是像网络这样重要的东西。幸好我记得你必须手动操作才能让 samba 在 redhat 5 和 6 中重新运行。
答案2
这是你问题的真正答案。我也遇到了同样的问题。
运行终端并输入此命令
gksudo gedit /etc/hosts
并在hosts文件中添加计算机ip地址和名称。保存并退出。
示例ip和名称:
192.168.120.65 blablaPcName
就这样。
答案3
问题(至少在我尝试过的 Ubuntu 18.04 中)是以下命令:
sudo ufw allow Samba
只会为 Samba 作为服务器添加规则。它不会为 Samba 作为客户端添加任何规则。但是当您尝试安装远程共享时,这就是您要做的事情:在这种情况下,您的计算机是客户端,而远程计算机是服务器。
此外,“无回复”错误暗示某些防火墙搞乱了一切。机器通常会响应请求。它们可能会响应错误,在这种情况下您会遇到其他问题,但如果它们根本没有响应,那么它们的数据包通常会被防火墙吞噬。
允许 Samba 充当服务器的规则不足以允许 Samba 充当客户端,因为远程机器从它们自己的端口 137 响应,但是这些响应到达的本地端口不是 137,而是某个随机端口。
为了解决这个问题,执行以下命令:
sudo ufw allow in proto udp from any port 137,138 to any
这样,只要 UDP 数据包来自远程计算机的端口 137 或 138,它们就可以到达任何本地端口。端口 138 可能不是必需的,因为我只见过从 137 到达的数据包,但你永远不知道。
这可能不安全,因为原始端口可能被欺骗,但我们不要过于担心。
这帮我解决了这个问题。
答案4
只需在防火墙中添加“允许退出”:
- 端口 137/UDP - 由 nmbd 使用
- 端口 138/UDP - 由 nmbd 使用
- 端口 139/TCP - 由 smbd 使用
- 端口 445/TCP - 由 smbd 使用
它会起作用,如果你不知道如何操作,只需安装“gufw”,然后使用“+”再使用“简单标签”。