在我的设置中,我有一个 FreeBSD(即将成为 Debian)服务器,托管多个正在运行的 Samba 共享。我从我的 Windows 7 笔记本电脑和 Ubuntu 12.10 台式机访问这些共享,它们都位于同一个 LAN 段上。我可以毫无困难地安装和使用这些共享。但是,我的服务器计算机未显示在 Win7 或 Ubuntu 下的“网络设备”下。我必须调整哪些 Samba 或其他设置才能使计算机在 Windows 7 和 Ubuntu 上都对网络可见?
我已阅读过文档,但仍然感到困惑。
编辑:我不知道 WINS 是什么或做什么。如果能澄清这一点,我将不胜感激。我想通过主机名访问我的服务器...我需要 DNS 还是 WINS?
答案1
我自己仍在努力解决这些问题。我目前的理解是,你的根本问题是,如果没有某种集中式系统来识别命名,就无法通过名称识别设备。
对于 ping 之类的标准主机名解析,您实际上需要本地 DNS 将主机名解析为 IP 地址。
似乎不同的协议都有各自的解决方法。我认为 Windows 会经历一个网络发现过程(例如广播和响应,甚至可能是 IP 扫描),从而以这种方式发现设备。我可以通过 Windows 网络上的主机名查看我的 Debian Samba 共享,但我尚未设置 DNS 或 WINS。
但我认为这种过于简单的配置存在问题。例如,我无法通过主机名 ping 我的 Debian 设备。而且我猜想 Windows 在某些时候可能会感到困惑。
设置本地 DNS 是最终的解决方案(我计划最终这样做)。WINS 似乎是一种替代解决方案(不相互排斥),它提供基本相同的功能。优点是,将 Samba 服务器设置为 WINS 服务器似乎相对容易。但我还没有研究如何操作。
答案2
为了使浏览功能正常运作,需要完成以下几件事:
- 工作组(或域,如果您正在运行,但听起来不像)应在所有设备上通用。(
workgroup =
smb.conf 文件中的行)。这不是必需的,但它肯定会让事情变得更容易。 - 该
nmb
服务需要运行且不受防火墙保护。
由于您有一个可以运行的 Samba,一旦您处理了这些简单的事情,它就可以正常工作。
答案3
值得一提的是,我只需在 smb.conf 中打开 WINS 服务器选项,现在一切就如我所愿了。我的机器及其工作组在我的 LAN 上显示在其他 Linux 和 Windows 设备上。