[我花了很多时间来寻找此问题的解决方案,但如果有人愿意向我指出相关的问题和/或答案,请这样做!]
我有一个通过宽带路由器的本地网络,其中有 3 台 Windows 7 计算机和一台 Windows 主机上的 Ubuntu VirtualBox VM。我可以从彼此很好地访问 Windows 计算机,并且我在 Ubuntu 上配置了 Samba,因此我可以看到并访问我的 Ubuntu计算机与 Windows 机器一样。
问题是通过主机名从 Ubuntu 访问 Windows 机器。 我可以通过 IP 地址从 Ubuntu ping 通 Windows 机器,但无法通过它们的名称进行查找,WIN7-1,WIN7-2,win7-3。
即,smbclient -L 192.168.2.5
成功了,但是smbclient -L win7-1
不行。 smbtree
有时候显示以下内容,有时候不显示:
WORKGROUP
\\MY-UBUNTU
\\WIN7-1
\\WIN7-2
\\WIN7-3
- 为了调试的目的,我禁用了所有防火墙并启用了所有读/写权限(因为它们都只是我的机器)。
- 我也知道我可以为每台机器添加条目
/etc/hosts
,但我想了解如何让主机名查找动态工作
问题
我怎样设置我想要的工作? Ubuntu 在设置了桥接网络的 Windows 主机上的 VirtualBox VM 中运行,因此我无法在 Ubuntu 中运行 DNS 服务器(或者可以吗?)。
我想其他新手也会非常感激高层概述,DNS 服务器应该在哪里,Ubuntu 机器应该如何使用它,我是否需要在 Windows 机器的设置中更改任何内容..我对遇到的所有这些包和设置感到困惑 - ,,,,resolv
..我只想安装和使用我需要的东西!libnss-mdns
avahi
dnsmasq
winbind
答案1
您所要做的就是:
sudo gedit /etc/nsswitch.conf
修改以下行:
hosts: files dns
更改为:
hosts: files wins dns
(顺序很重要)
最后,你需要安装 winbind
sudo apt-get install winbind
来源: http://that-matt.com/2009/12/how-to-get-ubuntu-to-ping-a-windows-hostname/
答案2
Windows 计算机可能使用 WINS 来解析彼此的名称。在这种情况下,您必须将 Ubuntu 计算机配置为使用 WINS。
sudo apt-get install winbind
sudo gedit /etc/nsswitch.conf
添加wins
到hosts:
行中。
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 wins