Windows 与 Linux DNS 查找

Windows 与 Linux DNS 查找

如何配置 Linux 机器,使其假装是域的一部分以进行 DNS 查找?

网络在 Windows AD 域上运行,Windows 端没有特殊配置(除了加入域)。Windows PC 自动获取本地后缀company.local(如 所示ipconfig /all)和 ,ping servername并且ping servername.company.local两者都按预期工作。

据我所知,DHCP 服务器提供了正确的域名,尽管我不确定如何明确地验证这一点。

在连接到同一网络的 Linux 机器(Ubuntu 14.04)上,也使用 DHCP,我可以ping servername成功(因此 DHCP 和基本 DNS 正常工作)但ping servername.company.local失败(未知主机)。

最初dnsdomainname是空白的。我尝试修改/etc/hosts以添加域名,虽然它已更新dnsdomainname/etc/resolv.conf成功使其能够 ping 自身+但.company.local它仍然不适用于任何其他地址。我还尝试在网络管理器 UI 中的“IPv4/IPv6 设置”选项卡中设置“其他搜索域”。

也许最令人恼火的是,当我ping servername说它正在 pingservername.localdomain但随后也打印时64 bytes from servername.company.local。因此系统的某些部分知道后缀,但显然不是正确的部分。

ping servername.company.local在 Linux 机器上开始工作的正确方法是什么?

(我需要 FQDN 才能工作,因为各种文件包含使用 FQDN 的链接,因为使用 VPN 外部连接到网络时需要这一点。)

答案1

视情况而定。如果您指的是笔记本电脑,那么最好的解决方案是让它从本地路由器获取网络配置,但本地路由器目前显然不提供该功能。

但是,如果这是一台注定不会被移动的 PC(我怀疑是这样),那么即使您不打算为机器设置静态 IP 地址,您也可以在本地操作。编辑文件(该文件/etc/resolvconf/resolv.conf.d/head应该存在,即使除了注释之外是空的),并在其中添加以下几行:

   domain company.local
   search company.local

当你重启 Ubuntu 电脑时(由于resolvconf软件包中有 bug,你不能只需重启网络即可看到变化,必须重启电脑后,你会注意到文件/etc/resolv.conf现在包含以下行

   domain company.local
   search company.local
   nameserver 127.0.0.1

或者类似这样的内容。换句话说,该head文件被添加到了您(最重要的)文件的开头resolv.conf。这应该可以解决您的问题。

相关内容