我有一台装有最新版本 Snow Leopard 的 iMac。我有一台 NAS 驱动器和一台 Windows 机器,它们都显示在 Finder 的“共享”部分中。但是,如果我单击它们,Finder 会显示“连接失败”。单击“连接为...”会出现一个错误对话框,显示“服务器‘blah’可能不存在或目前不可用。”
兴趣点:
- 所有机器都使用 DHCP 从路由器接收其 IP/DNS 信息。
- 我在同一个网络上有一台 Mac Mini,它可以完美地连接到 NAS 驱动器和 Windows 机器,无需任何配置(即开箱即用)。
- 两台 Mac 都运行相同版本的 Snow Leopard。
- 访问 NAS 共享不需要密码。
- 我从未在任何机器上设置 WINS 服务器,并且所有机器默认都使用“工作组”。
- 我尝试在 Mac 的工作组条目中输入“工作组”,也尝试过将其留空,但都无法解决问题。
以下是我尝试过的一些方法:
- Finder->连接到服务器:smb:///share。这有效,但按名称则无效。
- Terminal->mount_smbfs //@/share 共享。这也可以通过 ip 实现,但不能通过名称实现,导致“mount_smbfs:服务器连接失败:没有到主机的路由”。
- 如果我将 NAS 的 IP 地址放在 Mac 网络设置中的 WINS 服务器条目中,我就可以通过名称进行连接。
这显然是一个名称解析错误,但我不知道为什么。自从以前工作以来,唯一改变的是,我买了一个新路由器,现在给出的 DHCP(所有机器都是 dhcp 客户端)地址是 192.168.xx,但以前是 10.0.xx。我搜索了所有可能保存了旧地址的东西,但什么也没找到。还值得注意的是,第二台 Mac(成功连接的那台)是在路由器更换后添加到网络中的。
如果需要更多信息来进一步解决此问题,请告诉我。
答案1
这是一个名称解析问题,但并不完全是 DNS 问题,除非您的 NAS 盒具有完全合格的域名。在 Finder 的共享类别下网络上可见的 Mac 是通过 Bonjour 和多播 DNS 发现的。我不确定 OS X 究竟使用什么来发现 SMB 共享。
听起来,未连接的 Mac 可以通过多播发现 SMB 共享,但未获取正确的 IP 地址信息。您可以尝试从终端执行 arp 命令,以查看返回的 NAS 盒名称的 IP 地址。如果 NAS 盒名为“nas.local”,则命令为:
arp nas.local
它将返回 Mac 的 ARP 缓存中与 nas.local 关联的 IP 地址。
您可以尝试 nmblookup 来查看 Mac 正在接收哪种 SMB 信息。我对此不太熟悉,但我认为命令可能是:
nmblookup -n nas.local
samba 手册页将为您提供更多选项和信息。
多年来,我一直看到通过侧边栏连接服务器时出现问题,但从未找到可靠的解决方法。您提到所有机器都使用 DHCP。您可以将 NAS 盒置于静态 IP 上。然后,您可以将 nas.local 的条目放入 /etc/hosts 中。这不是理想的选择,但对于几台计算机来说,这可能是一个简单的解决方案。
答案2
我遇到了同样的问题。我通过关闭文件共享 -> SMB 共享,然后重新打开它,解决了一半问题。这重置了 Samba,现在我的smbtree
命令显示了网络邻居,之后我的nmblookup
搜索返回了结果。
Finder 仍然可以看到它们,但无法使用侧边栏中的链接进行连接,但我可以通过按 apple+K 并输入 smb://servername.local/ 进行连接