在 CentOS6.9 系统中,无法同时解析两个 Windows 域控制器,只能解析第一个域控制器,其中两个域控制器的 IP 都可以从 CentOS 节点访问
ping 192.168.59.132 # Works
ping 192.168.59.156 # Works
窗口设置如下,
域控制器节点中使用 Active Directory 配置了许多 Windows 主机。
一旦此域控制器的条目出现在等/resolv.confCentOS 主机,可以与其下的所有节点进行通信。
options timeout:1 attempts:1
nameserver 192.168.59.156 # it's hostname is IDMTMG1.IDMT.iSyntax.net
ping IDMTMG1.IDMT.iSyntax.net # Works with out any issue, and all the nodes under that
但是当涉及到多个设置时,假设配置了两个域控制器,并且每个域控制器下都有节点,则只有第一个域控制器和其下的节点会发生通信。
那是,
/etc/resolv.cong 条目如下所示,
options timeout:1 attempts:1
nameserver 192.168.59.156 # hostname IDMTMG1.IDMT.iSyntax.net
nameserver 192.168.59.132 # hostname ISTMG1.IST.iSyntax.net
现在 ping 只对第一个有效,
ping IDMTMG1.IDMT.iSyntax.net # Works, also for all the nodes under it.
ping ISTMG1.IST.iSyntax.net # Fails
如果订单在等/resolv.conf文件,
options timeout:1 attempts:1
nameserver 192.168.59.132 # hostname ISTMG1.IST.iSyntax.net
nameserver 192.168.59.156 # hostname IDMTMG1.IDMT.iSyntax.net
现在行为也是一样的,它对第一个有效,对第二个无效。
ping ISTMG1.IST.iSyntax.net # Works, Works, also for all the nodes under it.
ping IDMTMG1.IDMT.iSyntax.net # Fails
查看nslookup命令输出。
nslookup -type=any IDM04MG1.IDM04.iyntax.net
Server: 192.168.59.132
Address: 192.168.59.132#53
Name: IDM04MG1.IDM04.iyntax.net
Address: 192.168.59.132
IDM04MG1.IDM04.iSyntax.net has AAAA address fd00:59::250:56ff:febc:75ee
##################################
nslookup -type=any SHDMG1.SHD.iyntax.net
;; Got recursion not available from 192.168.59.132, trying next server
Server: 192.168.59.156
Address: 192.168.59.156#53
Name: SHDMG1.SHD.iyntax.net
Address: 192.168.59.156
我如何才能同时与这两个域控制器建立连接?如果可以使用 DC 的主机名进行 ping,则表明正在与其下的所有节点进行通信。
答案1
这是预期行为。您指定多个名称服务器是为了实现冗余,而不是让不同的服务器负责不同的域。只有列出的第一个服务器才会被询问是否应答。
您要么需要让一个工作名称服务器转发其他 NS 的请求(或所有名称服务器都转发请求以保持冗余),要么让中间 NS 将请求转发到适当的域(当然,非递归解析也可以起作用)。
一些提示(注意:我不是 AD 用户,因此这很模糊):
- 首先,听起来您的不同域控制器属于同一个 AD 林。在这种情况下,它们应该已经启用跨域名解析(至少据我所知)。询问您的 Windows 管理员为什么这不起作用
- 如果它们不属于同一个林,则 Windows 管理员需要在 AD 的 DNS 部分设置记录,以便将您的客户端指向另一个 DNS 服务器(因此,example1.com 会回答“要询问 example2.com 主机,请询问这个名称服务器”)或者只询问另一个服务器并将答案发回给您(这称为递归,通常只在私有网络中才是一个好主意)。
- 如果出于某种原因,所有这些都无法实现,则需要第三个名称服务器来为您完成此工作(因此它要么为您递归解析所有 AD 域中的地址,要么将您指向要询问的正确 NS 服务器)。在最小解决方案中,这只能在您的 CentOS 计算机上使用小型 DNS 服务器(如
dnsmasqd
或 )来完成unbound
。
举个例子:如果您dnsmasqd
在本地使用这个目的,那么您应该在配置中添加如下配置语句dnsmasqd
:
server=/IDMT.iSyntax.net/192.168.59.156
server=/IST.iSyntax.net/192.168.59.132
然后指向resolv.conf
(127.0.0.1
有关更多信息,请谷歌搜索无数教程dnsmasqd
并阅读文档)。