我们在混合的 Windows/Mac/Linux 网络上设置了一台 Linux 服务器,该服务器具有许多 Samba 共享。如果我们转到\\192.168.x.x\share
,则可以访问这些共享,但是我们无法通过其 netbios 名称(如文件中设置的那样)访问该服务器smb.conf
。它也没有在网络上列出,而所有其他机器都在网络上列出 - 包括其他 Linux 机器。
我们看不出其他机器的配置与这台机器有任何区别,除了它们是桌面 Ubuntu 机器,而这是“无头” CentOS 服务器。
这是配置文件:
[global]
workgroup = WORKGROUP # correct workgroup name for the network
netbios name = foobar # same as the hostname of the box
security = share
guest account = nobody
local master = no # tried yes, no difference
preferred master = no # tried yes, no difference
; wins support = yes
; dns proxy = yes
# shares are assigned here...
Netbios 名称设置为与盒子的 linux 主机名相同的值,但无论我们netbios name
是否在 samba 中设置它,它仍然不会在网络上显示。
我还需要设置什么才能让机器出现在网络上?
答案1
这是在 samba 4.7.1 上
我遇到了与 OP 和 alecov 相同的问题。结果是 nmb 服务没有运行。
您需要单独启用 nmb 和 smb:
sudo systemctl enable nmb
sudo systemctl restart nmb
在 samba 4 上,服务名称是 smb 和 nmb,不知何故不必要地重命名,导致许多可用的教程令人困惑(它们大多基于 samba 3)。
这是我的 smb.conf,用于启用 netbios 名称广播:
workgroup = WORKGROUP
netbios name = XXXXX
# disable netbios = yes
wins support = yes
name resolve order = bcast wins lmhosts
您还需要检查它是否与目标适配器正确绑定,并且防火墙是否允许使用 samba 服务。
答案2
查看“使用 Samba -7.3 使用 Samba 进行名称解析
“Samba 服务器上的“nmblookup foobar”会给您带来什么? 如果
不起作用(例如,它给出“name_query 无法找到名称 foobar”),您是否尝试过设置 WINS 服务器或添加 LMHOSTS 文件?