将Linux主机连接到Active Directory无法更新Microsoft DNS

我正在使用特殊绑定帐户将Linux主机(CentOS 6)joinActive Directory。 我已经授予该用户的委托权限,当我join默认计算机OU时,将创build一个计算机对象并更新DNS。

现在,我已将同一个用户委托权限授予不同的OU。 但是,当我尝试使用此命令join不同的OU时:

net ads join -k createcomputer="Custom/Location"

一个计算机对象被创build,但DNS无法更新此错误消息:

  hostname.example.local的DNS更新失败:ERROR_DNS_INVALID_MESSAGE
 DNS更新失败! 

我希望得到这个工作,所以我不必手动将新创build的计算机对象移动到正确的OU,因为我已经自动化了剩下的过程。

我想清楚为什么会发生这种情况。 在我的环境中,我有一个辅助Linux DNS服务器,不允许dynamicDNS更新,除了Windows主DNS服务器(也是域控制器)。 当使用net ads join命令时,它会为域的名称服务器执行DNS查找,有时会返回Linux DNS服务器作为导致更新失败的第一个答案。 您可以强制它使用带有-S开关的域控制器/主DNS服务器:

net ads join -k -S ns1.example.local createcomputer="Custom/Location"

解决了这个问题。 再次,我有Wireshark感谢其帮助解决我的问题。