在工作中,我们的网络核心是 WinSBS 域,所有计算机都是 Windows PC。域控制器充当这些计算机的 DNS。
我最近将一些个人使用的 Linux 机器添加到网络中,但没有将它们加入域。我已设置 Samba,其中“wins 服务器”指向域控制器,这样 Windows 机器就可以很好地解析 Linux 主机名。
我还设置了 resolvconf,将域控制器作为名称服务器,将本地域作为搜索域,这样 Linux 机器就可以很好地解析 Windows 主机名。
但是,Linux 机器根本无法解析其他 Linux 主机名。鉴于我无法控制 DNS 服务器(我不是网络管理员),并且至少有一台 Linux 机器不是始终在线的机器,并且可能会频繁更改其 LAN IP(通过 DHCP),我缺少什么服务才能使它们的主机名彼此可见?
编辑:
刚刚安装了 smbclient,这样我就可以列出域控制器中的主机名,所有 Linux 机器都显示出来(我想这应该是意料之中的,因为我可以从 Windows ping 它们)。我还可以使用 nmblookup 通过 WINS 服务器解析 Linux 主机名。我还编辑了 /etc/nsswitch.conf,将“wins”参数添加到“hosts”选项。但仍然无法通过 nslookup/host/dig 解析 Linux 主机名。
答案1
Linux 计算机未在 Windows 服务器上注册其 DNS 名称。(其他试图访问您的 Linux 计算机的 Windows 计算机无法通过 DNS 查找,因此只能使用 WINS 查找,但这就是它们仍能正常工作的原因。)
尝试以下两个答案在我的 Windows 2008 DNS/DHCP 服务器上为我的 Linux 机器注册 A 记录(服务器故障)。
或者,如果您想要一种更锁定的方法,请阅读Linux DHCP 和 Windows DNS。