这里描述的问题可能根本与DNS不相关。
您必须知道Windows可以通过标准DNS以外的其他机制将Windows主机名解析为其IP:NetBIOS查找,WINS,...
正如您说的那样,您已在Ubuntu上安装了Samba,这可能正在发生。在您所有的Windows计算机上,都可以直接将Windows名称解析为其IP地址。由于将Samba安装在Ubunut上,对于Windows PC,他们将Ubuntu PC视为Windows PC,并且可能具有相同的分辨率。
您说您net view
在Windows上运行,并且看到了Ubuntu PC,因此NetBIOS名称在网络上已经很好地发布,因此可以在Windows上使用。
要在Ubuntu上实现与Windows相同的行为,您必须安装和配置其他软件。您需要添加一个查找库,该库将允许Ubuntu将NetBIOS名称转换为IP。该库包含在 libnss-winbind软件包中。
与其他任何Ubuntu软件包一样,您可以通过安装进行安装sudo apt-get install libnss-winbind
。可能是该库已安装,您可以通过执行以下操作检查它的存在dpkg -l|grep libnss-winbind
。
安装库后,必须在/etc/nsswitch.conf
文件中启用它。该文件是NSS(名称服务交换机)的配置文件,该文件定义Linux能够从哪些源解析主机名,用户名,组名等。
在此文件中,您已经有一行以开头hosts:
,可能看起来像这样
hosts: files dns
这告诉您的系统首先查看/etc/hosts
文件,然后查看配置的DNS以解析主机名。
您必须通过以下方式进行修改:
hosts: files dns wins
请注意,单词file,dns和wins的顺序很重要。首先,系统将检查本地文件以进行解析,然后询问DNS服务器,最后(如果尚未找到)将执行NetBIOS查找。
更新后,要正常运行,还需要运行winbind服务。包含它的软件包是libnss-winbind的依赖项,因此它已经被安装。
不要service winbind start
将其激活。