在从 10.04 升级到 11.10 之前,我的 Ubuntu 桌面停止允许我访问我的 Windows 共享目录。我想我会升级到 11.10 并且问题会得到解决,但没有。
每当我使用 Nautilus 单击 Windows 网络域时,都会弹出以下消息:
无法安装位置 - 无法从服务器检索共享列表
我从哪里开始解决这个问题?我现在越来越绝望了:(
我试过
sudo mount -t cifs //SomeMachine/SomeShare some_directory
Run Code Online (Sandbox Code Playgroud)
我得到
mount error(115): Operation now in progress
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我得到了一个弹出窗口,说明:
Could not display network:/// Error: Dbus error org.freedesktop.DBus.Error.NoReply: Did not receive a reply ...
Run Code Online (Sandbox Code Playgroud)
小智 13
我发现 Gord Nickerson 的这个建议对我有用:错误消息是“无法从服务器检索共享列表”,因此它无法浏览 Windows 7 pc 或 Ubuntu 10 pc 或 mac 桌面 pc。
首先,Samba守护进程smbd,并nmbd必须同时运行网络浏览工作。它们可以从 开始service,或者systemctl start对于较新的基于 systemd 的 Ubuntu 版本。
smbtree 列出网络上机器的所有共享。
所以,出发去/etc/samba和我们sudo pico smb.conf。
名称解析顺序先使用主机文件,最后广播,并被注释掉!也许我们将其更改为:
name resolve order = bcast host
Run Code Online (Sandbox Code Playgroud)
然后使用service smbd restart和重新启动服务器service nmbd restart
作品!这是升级时犯的一个可怕的错误。升级不应该破坏正在运行的东西,尤其是像网络这样重要的东西。好在我记得你必须做的手工工作才能让 samba 在 redhat 5 和 6 中恢复工作。
小智 11
这是你问题的真实答案。我也有同样的问题。
运行终端并输入此命令
gksudo gedit /etc/hosts
Run Code Online (Sandbox Code Playgroud)
并在主机文件中添加计算机IP地址和名称。保存并退出。
示例 IP 和名称:
192.168.120.65 blablaPcName
Run Code Online (Sandbox Code Playgroud)
就这样。
问题(至少在我尝试过的 Ubuntu 18.04 中)是以下命令:
sudo ufw allow Samba
Run Code Online (Sandbox Code Playgroud)
只会添加 Samba 作为服务器的规则。它不会为 Samba 作为客户端添加任何规则。但是,当您尝试挂载远程共享时,这就是您正在做的事情:在这种情况下,您的计算机是客户端,远程计算机是服务器。
此外,“无回复”错误暗示某些防火墙正在搞砸事情。机器通常会响应请求。它们可能会响应错误,在这种情况下您会遇到其他问题,但如果它们根本不响应,那么它们的数据包通常会被防火墙吃掉。
允许 Samba 作为服务器的规则不足以同时允许 Samba 作为客户端,因为远程计算机从自己的端口 137 进行响应,但这些响应到达的本地端口不是 137,而是某些端口。随机端口。
要解决此问题,请执行以下命令:
sudo ufw allow in proto udp from any port 137,138 to any
Run Code Online (Sandbox Code Playgroud)
这将允许 UDP 数据包到达任何本地端口,只要它们源自远程计算机的端口 137 或 138。端口 138 可能不是必需的,因为我只看到来自 137 的数据包,但你永远不知道。
这可能是不安全的,因为原始端口可能被欺骗,但我们不要偏执。
这为我解决了这个问题。
这可能是连接到系统时出现的一般错误:
在上述线程案例中,名称和 IP 地址不匹配,nmblookup有助于确定问题。另外,此页面似乎有一些很好的故障排除提示
我正在复制的:
smbclient -L //<IP of Samba Server> -U <server user>nmblookup {name}如果您进行更多故障排除,请编辑您的问题。
小智 1
我使用这种方法在混合网络环境(Windows/Ubuntu)中取得了非常好的结果:
按Alt+F2并输入:gksu gedit /etc/nsswitch.conf
寻找这一行:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Run Code Online (Sandbox Code Playgroud)添加wins,使其看起来像这样:
hosts: files mdns4_minimal [NOTFOUND=return] wins dns mdns4
Run Code Online (Sandbox Code Playgroud)安装“winbind”包:sudo apt-get install winbind
重新启动或重新启动您的网络。