TL;DR 版本

TL;DR 版本

TL;DR 版本

我无法从我的某些设备浏览文件服务器上的 SMB 共享;如果我使用新的路由器,它就可以正常工作。修复它修复它修复它!

设置

我有两个路由器,一个 D-Link DSL 2370R 和一个 Technicolor TD5130v2。我有一个运行 samba 的 Ubuntu 文件服务器(我使用 webmin 来管理它),以及我连接到它的以下设备。

  • 我的媒体中心,一台运行 OpenELEC 的 Raspberry Pi Model B
  • 运行 Ubuntu 12.04.2 的笔记本电脑
  • 运行 Windows 7 Starter 32 位的笔记本电脑
  • 搭载 Android 4.4.2 Kit-Kat 操作系统的 Moto G,运行 ES Explorer App 的 LAN Shares 模块

Pi 和文件服务器使用有线连接,其余部分使用 Wi-Fi。

我希望能够从任何设备查看文件服务器并与其通信,但使用 Technicolor 路由器时,我遇到了可见性问题。(我可以使用 D-LINK 路由器,放弃另一个,但我很难在其上配置互联网连接;此外,Technicolor 路由器的 wifi 信号更强。)

第一种情况

如果我将所有设备连接到 D-Link 路由器:

  1. Nautilus 上的“网络”条目不会显示所有设备,但在“Windows 网络”项下的“工作组”组中,我可以看到和浏览文件服务器、2 台笔记本电脑和媒体中心。
  2. 如果我插入 Nautilus 上设备的 IP 地址(smb://IP)或其名称(smb://devicename),我就可以看到并浏览它们。
  3. Win7 不会在网络文件夹中显示任何设备,但如果我在 Windows 资源管理器中键入“\IP”,我就可以浏览所有文件
  4. 在 android 应用程序上执行网络扫描,它将显示由其 IP 识别的每个设备的列表;所有设备均可浏览。
  5. OpenELEC smb 浏览器将显示 WORKGROUP 组上的所有设备(包括 Win7 笔记本电脑),所有设备均可浏览
  6. smbtree在 Ubuntu 笔记本电脑上执行将显示所有设备以及每个设备的所有共享
  7. smbclient以下是Ubuntu 笔记本电脑上该命令的输出本身, 为了文件服务器, 为了Win7笔记本电脑以及媒体中心

第二种情况

如果我将所有设备连接到 Technicolor 路由器:

  1. Nautilus 的网络部分未显示任何设备。单击“工作组”项会弹出错误警报(“无法从服务器检索共享列表”,或类似内容,非英文)
  2. 如果我插入 Nautilus 上的设备的 IP 地址(smb://IP),我就可以看到这些设备,但插入名称(smb://devicename)会出现类似的错误
  3. Win7 不会在网络文件夹中显示任何设备,但如果我在 Windows 资源管理器中键入“\IP”,我就可以浏览所有文件
  4. 在 android 应用程序上执行网络扫描,它将显示由其 IP 识别的每个设备的列表;所有设备均可浏览。
  5. OpenELEC smb 浏览器将显示 WORKGROUP 组上的所有设备(包括 Win7 笔记本电脑),所有设备均可浏览。
  6. smbtree在 Ubuntu 笔记本电脑上执行将显示所有设备但除本地主机外,没有任何设备的共享
  7. smbclient以下是Ubuntu 笔记本电脑上该命令的输出本身, 为了文件服务器, 为了Win7笔记本电脑以及媒体中心

答案1

我发现如果我

(1)禁用DNS 中继“本地网络”选项卡上的选项,并手动设置有效的 DNS 服务器,例如 Google 的 8.8.8.8 和 8.8.4.4

DNS 中继是指在这种情况下,您的所有机器都会将其 DNS 查询发送到中继。中继将查询发送到提供商的 DNS 服务器或路由器 WAN 设置中设置的任何服务器。

当它收到答案时,它会将其发送回机器并存储一小段时间。因此,如果您网络中的另一台机器搜索相同的地址,它将直接从您的路由器接收答案,而无需再次询问互联网服务器。(因此,有一个小内存可以记住查询 - 所谓的:DNS 缓存)

或者

(2)保持DNS中继启用,但禁用“Internet设置”选项卡中“PPPoE”部分的“DNS”选项,并手动设置并手动设置有效的DNS服务器,如Google的8.8.8.8和8.8.4.4

那么它就会起作用。

这个答案解决了“如何解决这个问题”,但我完全不知道发生了什么

相关内容