Samba 错误:对子网 x 上名称 x 的查询收到了多个响应

Samba 错误:对子网 x 上名称 x 的查询收到了多个响应

我的一台 Linux 服务器每 5 分钟就会收到一次此错误。在这种情况下,名称不是主机名,而是我在两台服务器的 smb.conf 文件中设置的工作组名称。我不知道为什么它一直这样,我(作为 Windows 管理员)唯一的想法是第二台服务器正在尝试成为主浏览器或类似的东西,并且在解析工作组名称后会从已打开的第一台服务器收到回复。这可以解释为什么另一台服务器在其日志中没有显示任何错误。

两个系统都具有静态配置的 IP 和包含域和名称服务器条目的 resolv.conf。

这让我很疑惑:既然 nmbd 正在执行此操作,那么在 SMB3.1 Win10 网络中我是否仍然需要它?或者我们永远无法摆脱 NETBIOS?

答案1

这让我很疑惑:既然 nmbd 正在执行此操作,那么在 SMB3.1 Win10 网络中我是否仍然需要它?或者我们永远无法摆脱 NETBIOS?

nmbd 的功能(浏览和 NBNS)有总是对于现代客户端 (Win2000+) 而言是可选的。最后一个在实际 SMB 连接之前故意发送 NetBIOS 数据报查询的系统是 Windows 98(或者可能是 Windows ME)。

因此,您可以通过 IP 地址(或 DNS 名称)连接到 smbd 服务,并使用您喜欢的任何 SMB/CIFS 版本,无论是通过端口 139 的 NetBIOS 会话上的 SMBv1,还是通过端口 445 的原始 TCP 上的 SMBv3.1,均无需运行 nmbd。

答案2

由于同一物理网络中的主机有两个接口,因此可能会收到多个响应。然后您的 会回复广播查询nmbd。请参阅这篇 17 年前的帖子: query_name_response:收到多个响应

如果文件没有列出多个接口,还请检查smb.conf有关参数的文件。interfaces

答案3

对我来说,答案就在这里:https://forums.freebsd.org/threads/samba-multiple-2-responses-two-freebsd-systems-on-my-network.65759/
特别是最后一句话

如果你正在做独立工作,那么你应该本地主机 = 无域主 = 否首选主机 = 否。禁用所有 wins 内容。我认为您只需要 workgroup = WORKGROUP

但是,我并不使用 NT 域来登录。实际上,我只使用工作组。“首选主机 = 否”是我必须更改的。我已在 1 台主机上将其设置为“是”。更改为“否”并重新启动 samba。此后,一切都继续正常运行,消息停止了。

答案4

在 smb.conf 中的部分中添加/更新以下行[global]

[global]
bind interfaces only = yes
interfaces = 127.0.0.0/8 eth0  # -> subnet where samba serwer is
smb ports = 139
prefered master = yes

接下来,重新启动 Samba 的 NetBIOS 服务器部分:

sudo systemctl restart nmbd
sudo systemctl status nmbd

重新启动后您应该在日志文件中看到:

Samba name server "xxx" is now a local master browser for workgroup WORKGROUP on subnet "IP server Samba"

此后,提到的消息应该停止。

相关内容