我的网络上有一台名为 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
)并且我的名称解析开始工作。
我已经已安装winbind
(zypper in samba-winbind
在我的系统上),配置了我的/etc/nsswitch.conf
正确地(hosts: files dns wins
) 和确认我的更改。
答案4
对我来说,winbind 守护进程默认不运行(操作系统是 Centos 8)。我必须手动启动它。
sudo systemctl start winbind
这解决了问题。 <3