前言:我不是 Windows 管理員。我是一名 Linux 管理員。
我有一台帶有 AD DNS 的 Windows 2016 伺服器,可處理內部 DNS 正向和反向查找。
某個地方、某個行程會自動為 CNAME 新增 PTR 反向查找記錄。這破壞了伺服器之間 SSH 的 Kerberos 驗證,因為具有 CNAME 的主機的規範查找將傳回太多 FQDN 和 Kerberos 阻礙。
當我刪除 CNAME 反向查找後,Kerberos SSH 問題已解決。
然後,第二天,很快!所有 PTR -> CNAME 項目均已傳回 AD DNS 中
例如,從頂部開始(我已將名稱更改為通用名稱,但整體設定是相同的):
一對運行SMTP和Squid代理程式的網路操作盒子有A記錄
netops01.example.com -> 10.1.2.3
netops02.example.com -> 10.4.5.6
這個盒子有 CAME
netops
proxy
mailserver
由於某些原因,AD DNS 中存在反向查找項目,如下所示:
3.2.1.10.in-addr.arpa. 3600 IN PTR netops.example.com
3.2.1.10.in-addr.arpa. 3600 IN PTR proxy.example.com
3.2.1.10.in-addr.arpa. 3600 IN PTR mailserver.example.com
3.2.1.10.in-addr.arpa. 3600 IN PTR netops01.example.com
最後一個條目是該主機的 A 記錄。所有其他記錄都是該 A 記錄 + 第二個主機的另一筆 A 記錄的 CNAME。
我或處理操作的其他管理員都沒有建立這些。我們也沒有設定任何計劃任務來重新建立反向查找。我也無法想像有一個很好的理由對 CNAME 或多個結果進行反向查找。 (也許有一個很好的理由?不過我以前從未這樣做過)
所以,我刪除了除了A記錄之外的所有反向查找。 Kerberos SSH 有效!
第二天,記錄全部回傳。
我什至不知道如何在 Windows 上進行故障排除(因此我的前言位於頂部)
- 如何在 Windows 日誌中找到執行此操作的內容?
- Windows DNS 是否有可以自動執行此操作的功能? (為 CNAME 建立 PTR)
- 有辦法把它關掉嗎?
- 我還缺什麼嗎?
答案1
回答我自己
我找到了我所缺少的東西。兩件事情:
事實上,這些並不是 CNAME。它們是 A 記錄,出於負載平衡的目的列出了多個主機。
由於它們是 A 記錄,因此確實有一個類似於「自動建立相關 PTR 記錄」的複選框
我沒有選取這些記錄。這實際上似乎並沒有解決這裡描述的問題:PTR 記錄仍在每天早上重建。
然而,無論如何,這不是我正在尋找的解決方案。根本問題是 Kerberos 無法正常運作。好吧,透過將此“rdns”設定新增至 /etc/krb5.conf 很容易解決
[庫預設值]
rdns = 假
答案2
預設情況下,Windows 始終嘗試使用動態 DNS 註冊正向和反向查找。
您可以在正在註冊的用戶端上或在 DNS 伺服器上或在兩者上停用此功能。解決目前問題最快的方法是停用相關反向查找區域的動態 DNS 支援。從長遠來看,根據您的情況,您可能也希望在前向區域停用它。
我找到了一張截圖,顯示了DNS伺服器上的相關設置這裡。您要選擇“無”。
有關在客戶端上禁用動態更新的更多信息這裡和這裡。這不是必需的,但否則客戶端將產生定期事件日誌訊息,因為動態 DNS 請求被伺服器拒絕。
注意:您不應停用 Active Directory 網域控制站或 Active Directory 區域(例如_msdcs
網域控制站用來儲存有關網域基礎結構的資訊的區域)的動態更新。這將破壞 Active Directory。