我的网络设置如下:
- 带有 DD-WRT 的无线路由器通过单独的 VLAN 将多个 SSID 传递到 pfSense 盒。
- 以太网连接的计算机包括一个 Samba 服务器 192.168.50.1/27(无 VLAN)接口 2。
- 所有无线连接到 SSID_KP (VLAN 5) 的计算机192.168.50.129/27 接口 3
- 两个子网掩码上的所有计算机(MAC,Win,Linux)都可以通过主机名或 IP 地址访问 samba 共享。
我的问题是,只有位于同一子网掩码 (192.168.50.1/27) 上的计算机才能通过单击“浏览网络内容”或单击网络“工作组”来查看可浏览的文件共享。位于 192.168.50.129/27 上的计算机必须明确指定 IP 地址或主机名才能查看共享。
为什么会发生这种情况?有没有办法让 192.168.50.129/27 范围内的计算机能够进行网络发现?
这显然不是一个大问题,因为两个子网掩码上的所有计算机都可以访问文件共享。然而,我试图了解为什么共享不通过网络发现显示在同一 LAN 中但子网掩码不同的计算机上。我的防火墙规则显然没有阻止它,因为所有计算机都可以通过主机名和 IP 进行连接。
答案1
请注意,MS 正在逐步淘汰过时且不安全的 NetBIOS 名称服务(Linux 专家经常建议这样做)。只有 Windows 10 Home 在更新 1803 后才拥有它。
因此,请确保主 Samba 服务器已启用其 DNS 名称服务并填写了数据。或者网络上的其他 DNS 主机,该主机涵盖 Samba 和其他网络主机以及客户端服务。此外,客户端需要指向该 DNS 服务器以获取 LAN 资源名称。
嘿,NetBIOS 已经存在了很长时间,甚至许多 Linux 发行版都默认假设 NetBIOS 存在,并且比在 Linux 机器上配置 DNS 更容易完成这项工作。毕竟,对于 Linux 专家来说,在不禁用任何程序的情况下禁用旧 Windows 客户端上的 NetBIOS 是一件很痛苦的事情 - 所以为什么不直接使用它呢。现在,在 15 年后,微软即将完成 NetBIOS 的淘汰,情况发生了变化。
答案2
原始问题的答案是 NetBIOS 服务不是直接可路由的(工作组 = NetBIOS)。旧的 NetBIOS 答案是在每个子网上设置一个计算机浏览器,并配置它们以将信息转发到主浏览器)。
一个简单的 Windows 解决方案可能仍然有效,那就是使用 HOMEGROUPS,它使用 FUNCTION DISCOVERY 服务来收集信息。但我怀疑它也失效了或部分禁用了,因为它也严重依赖 NetBIOS 作为信息的从属提供者。
再次强调,真正的答案是使用基于 DNS 服务器的东西。ADS(Active Directory Services)是 Microsoft Enterprise 的答案。但任何 DNS 服务器都可以工作……尽管与 DHCP 融合以允许动态主机/服务名称注册的 DNS 服务器对于网络维护来说要好得多。