使用 SRV 记录解析的 DNS 转发的奇怪行为

使用 SRV 记录解析的 DNS 转发的奇怪行为

我在网络上设置新的 SAMBA AD DC 时遇到了一个奇怪的问题。我已经启动并运行了 DC 本身,并在服务器上检查我是否能够解析服务器的 DNS 名称以及 Kerberos 和 ldap SRV 记录。我将其内部 DNS 设置为转发到我的网络网关,并且我的所有客户端计算机都配置为将其主 DNS 指向 DC(我在客户端计算机上没有任何辅助 DNS 条目)。

奇怪的是,从客户端,我可以从其 IP 地址、NetBIOS 名称或 FQDN ping DC,并且所有都映射到正确的 IP 地址。但是当我将客户端添加到域时,我收到一条错误消息,提示无法联系 DC,错误框中显示以下详细信息:

在向 DNS 查询用于定位域“local.foobar.com”的 Active Directory 域控制器 (AD DC) 的服务位置 (SRV) 资源记录时,发生以下错误:

错误为:“DNS 名称不存在。”(错误代码 0x0000232B RCODE_NAME_ERROR)

该查询针对的是 _ldap._tcp.dc._msdcs.local.foobar.com 的 SRV 记录

但是如果我通过 SSH 进入服务器并运行:

$ host -t SRV _ldap._tcp.local.foobar.com
_ldap._tcp.local.foobar.com has SRV record 0 100 389 dc1.local.foobar.com.

我开始怀疑我是否误解了 DNS 转发器的工作原理。我的理解是,客户端(它们都指向 DC 的 DNS)将首先引用它以获取 DNS 信息,然后如果它们找不到所需的条目,则转发到网关的 DNS。但似乎他们没有在 DC 的 DNS 中找到现有的 SRV 记录(或者它们只是直接转发到网关,我肯定没有添加条目......您认为这里可能是什么问题?我需要手动将 SRV 记录添加到网关还是 DC 的内部 DNS 应该响应这些请求?

PS 另外,我确实尝试输入 NetBIOS 域名“LOCAL”,它似乎找到了服务器并提示我输入管理员凭据,然后它允许我加入域。不过,我没有以这种方式添加它们,因为这里显然有一个更深层次的问题,但我只是想提一下,以防它能对情况有所启​​发。

答案1

好的,我找到了问题的原因。我的客户端计算机通过网关的 DHCP 获取其 IP 地址,网关配置为将 DC 的 IP 地址传递给主 DNS。

但是,对于 IPv6 地址,这是获取服务器的错误 DNS 地址,这(我相信)导致计算机上的 DNS 默认为网关。无论如何,我现在的解决方案是简单地禁用客户端计算机的 IPv6 协议,然后允许计算机查找并加入网络。唯一的问题是这似乎有点不靠谱。我想找到一种方法来设置网关以正确配置 IPv6 设置,但会在另一篇文章中发布有关此内容的信息。

相关内容