从Linux解析NETBIOS名称


10

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

C:\>ping susan

我已经按照本指南(并研究了其他几个类似的指南)从我的Linux机器本身解析NETBIOS名称。

我安装sambasamba-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

Answers:


5

Oilers Fan的答案同样也适用于基于Ubuntu的发行版。只有库位置不同。

基本上在做

sudo apt-get install libnss-winbind

对我来说有帮助。


2

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


我在中有libnss_wins.so文件/usr/lib/
palswim '16

2

看来NSCD(名称服务缓存守护程序)在我的系统上引起名称解析问题。如果重新启动该服务,则可以在短时间内使用NetBIOS解析我的主机名,然后它们将返回到解析失败。我禁用了它(使用systemd:)systemctl disable nscd.service,我的名字解析开始起作用。

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


但是,遗憾的是,没有使用Samba 4.4
palswim

1

就我而言,我正在运行具有大约10MB可用NAND存储空间的嵌入式linux系统。我认为上述答案有点误导,这表明libnss_winbind.so其他应用程序(非Samba应用程序)仅需要能够解析NetBIOS名称。

原来它只是一个轻量级的包装,以便其他程序可以使用解析NetBIOS winbindd_request_response()。在内部,它winbindd通过套接字调用对守护程序进行调用。

winbindd已符合22MB,因此对于我的限制来说很大。

希望这将有助于其他人寻找解决NetBIOS名称的轻量级解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.