从 Linux 解析 NETBIOS 名称

从 Linux 解析 NETBIOS 名称

我的网络上有一台名为 SUSAN 的 Windows 计算机。从我的 Linux 机器上的 Windows VM,我可以简单地:

C:\>ping susan

我已经关注了本指南(并查看了其他几个类似的)用于从我的 Linux 机器本身解析 NETBIOS 名称。

我安装了samba并且samba-winbind.我从以下位置编辑了这一hosts/etc/nsswitch.conf

hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname

hosts:      files wins mdns4_minimal [NOTFOUND=return] dns myhostname

显然我现在应该能够通过 SUSAN 的名字 ping 通她(我已经可以通过她的 IP ping 她了)。但我得到:

user@localhost:~ $ ping susan
ping: unknown host susan

答案1

The Oilers Fan 的答案对于基于 Ubuntu 的发行版也大多有效。只是图书馆位置不同。

基本上做

sudo apt-get install libnss-winbind

对我的情况有帮助。

答案2

对于非基于 Ubuntu 的 Linux 发行版,请检查 /lib 或 /lib64 以确保安装了 libnss_wins.so。如果没有,请在 Web 上搜索适用于您的 Linux 发行版的 RPM 并安装该库。之后,从命令行运行 ldconfig(只需以 root 或 su 身份键入 ldconfig 并按 ENTER 键)。我花了几个小时才在网络上的所有教程中找到这个小差距。看http://users.atw.hu/linuxandwindows/linuxwinworld-chp-6-sect-1.html更多细节。

答案3

NSCD(名称服务缓存守护进程)似乎导致我的系统上的名称解析出现问题。如果我重新启动服务,我将能够在短时间内使用 NetBIOS 解析我的主机名,然后再返回解析失败。我禁用了它(使用 systemd: systemctl disable nscd.service)并且我的名称解析开始工作。

我已经已安装winbindzypper in samba-winbind在我的系统上),配置了我的/etc/nsswitch.conf正确地hosts: files dns wins) 和确认我的更改

答案4

对我来说,winbind 守护进程默认不运行(操作系统是 Centos 8)。我必须手动启动它。

sudo systemctl start winbind

这解决了问题。 <3

相关内容