将非必要的 PC 升级到 18.04 后,同时将我的主 PC 保持在 17.10,我在 18.04 中的网络和 Nautilus 方面遇到了一个小问题。
当我在 Nautilus 侧边栏中选择“其他位置”时,我希望看到我的网络和 Windows 网络上的其他计算机。它们都在运行 17.10 的计算机上,但没有出现在 18.04 中。此外,在 18.04 中,虽然有一个 Windows 网络图标,但单击它不会像在 17.10 中那样显示现有的工作组。
我的/etc/samba/smb.conf
文件在所有机器上都是相同的。我可以通过运行以下命令从 18.04 机器访问共享:
nautilus smb://<ip address>
在终端中,这就是为什么我怀疑它与 Nautilus 有关,而不是与 Samba 有关。17.10 机器上的 Nautilus 版本是 3.26.0,18.04 机器上的 Nautilus 版本是 3.26.3。
答案1
您的描述中有两个不同的问题。
“Windows 网络”问题是由于 samba 改变了客户端协议级别造成的。https://ubuntuforums.org/showthread.php?t=2384959
要恢复其以前的工作方式:
安装 smbclient:
sudo apt install smbclient
然后编辑/etc/samba/smb.conf并在该行下添加一行workgroup = WORKGROUP
:
client max protocol = NT1
保存文件并重新启动...是的...重新启动。
请阅读论坛帖子,了解 Samba 为何更改此项,看看它是否对您有影响。
另一个关于找不到 17.10 samba 服务器的问题似乎很奇怪,因为从该版本开始,无论协议级别如何,它们都应该自动“发布”。我会查看以下服务是否在您的所有计算机上运行:
sudo service avahi-daemon status
如果没有运行请重新启动它:
sudo service avahi-daemon start
将客户端最大值更改为 NT1 也应该可以修复 Ubuntu 17.10 发现问题,但 avahi 方法确实应该默认起作用。
答案2
我必须禁用 ufw 防火墙才能使 Windows 网络浏览正常运行。尚未弄清楚在防火墙开启的情况下应使用哪些规则才能使其正常运行。
Status: active
To Action From
-- ------ ----
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
Apache Full ALLOW Anywhere
Samba ALLOW Anywhere
Samba (v6) ALLOW Anywhere (v6)
22/tcp ALLOW OUT Anywhere
答案3
禁用防火墙确实可以解决问题。
另一种方案是,内网(比如xxx1/24)的流量通过udp,源端口为137,同样内网流量通过udp,目的端口也为137,其他netbios端口无需开放。
答案4
我在安装了 SAMAB 的 Ubuntu 18.04 系统上遇到了这个问题,通过sudo apt install samba
,并激活了应用程序“Gufw Firewall”。
为了解决这个问题,打开gufw
应用程序后,即
我单击了Rules
按钮,然后单击了+
按钮,并进行了以下设置:
按下Add
按钮后,允许 SAMBA 共享的防火墙规则即被创建并反映在Rules
表中gufw
。
此后,在nautilus
--> Other Location
-->中,我的机器名称就会出现在那里,并且使用-->Networks
创建的机器共享文件夹可以被同一网络中的其他系统检测到。nautilus
Local Network Share