特別なバインドアカウントを使用して、Linuxホスト(CentOS 6)をActiveDirectoryに参加させています。このユーザーに委任アクセス許可を付与しました。デフォルトのコンピューターOUに参加すると、コンピューターオブジェクトが作成され、DNSが更新されます。
これで、この同じユーザーデリゲート権限を別のOUに付与しました。ただし、次のコマンドを使用して別のOUに参加しようとすると、次のようになります。
net ads join -k createcomputer="Custom/Location"
コンピュータオブジェクトが作成されますが、DNSは次のエラーメッセージで更新に失敗します。
Hostname.example.localのDNS更新に失敗しました:ERROR_DNS_INVALID_MESSAGE DNS更新に失敗しました!
残りのプロセスはすでに自動化されているので、これを機能させたいので、新しく作成したコンピューターオブジェクトを適切なOUに手動で移動する必要はありません。
私はこれがなぜ起こっているのか理解しました。私の環境には、ドメインコントローラーでもあるWindowsマスターDNSサーバー以外からの動的DNS更新を許可しないセカンダリLinuxDNSサーバーがあります。 net ads join
コマンドを使用すると、ドメインのネームサーバーのDNSルックアップが実行され、更新が失敗する原因となる最初の回答としてLinuxDNSサーバーが返される場合があります。 -Sスイッチを使用してドメインコントローラー/プライマリDNSサーバーを使用するように強制できます。
net ads join -k -S ns1.example.local createcomputer="Custom/Location"
。
これはこの問題を解決します。もう一度、問題のトラブルシューティングに協力してくれたWiresharkに感謝します。