Domain-Name-System

SCOM 2012 DNS 轉發器可用性監視器

  • June 15, 2019

背景:

我的環境有兩個不同的 AD 域,每個域都在自己的林中,每個域都有兩個充當 DNS 伺服器的 Windows Server 2008 R2 域控制器。域之間沒有信任。

每個 DNS 伺服器管理其 AD 域的主 DNS 區域,然後管理其他一些區域,包括其 IP 子網的反向查找區域;所有區域都集成了 AD;管理區域的所有 DNS 伺服器都正確列為該區域的權威名稱伺服器。

所以,情況是這樣的(使用假名和 IP 地址):

域 A:

DNS 域:domainA.dom

IP 子網:192.168.1

DC/DNS 伺服器:( serverA1.domainA.dom) 192.168.1.1, serverA2.domainA.dom( 192.168.1.2)

權威區域:domainA.dom, 1.168.192.in-addr.arpa,somezone.local

域 B:

DNS 域:domainB.dom

IP 子網:10.0.0

DC/DNS 伺服器:( serverB1.domainB.dom) 10.0.0.1, serverB2.domainB.dom( 10.0.0.2)

權威區域:domainB.dom, 0.0.10.in-addr.arpa,someotherzone.local

域 A 中的 DNS 伺服器為域 B 中的 DNS 伺服器管理的每個區域定義了條件轉發器,轉發到域 B 的兩個 DNS 伺服器;域 B 中的 DNS 伺服器具有相反的配置。所有轉發器都儲存在 Active Directory 中。

一切執行良好,每個域中的電腦都可以使用其域的 DNS 伺服器解析兩個域的正向和反向 DNS 查詢。


問題:

我在域 A 中部署了 SCOM 2012,在兩個 DC 上都安裝了 SCOM 代理;Active Directory 和 DNS 伺服器的管理包已安裝並且是最新的。

我在兩個域控制器上都有一系列警報,如下所示;為每個轉發區域和每個轉發伺服器生成每個警報:

Forwarder someotherzone.local (10.0.0.1) cannot resolve the host name 192.168.1.1,someotherzone.local for serverA1.domainA.dom
Forwarder someotherzone.local (10.0.0.2) cannot resolve the host name 192.168.1.1,someotherzone.local for serverA1.domainA.dom
Forwarder someotherzone.local (10.0.0.1) cannot resolve the host name 192.168.1.2,someotherzone.local for serverA2.domainA.dom
Forwarder someotherzone.local (10.0.0.2) cannot resolve the host name 192.168.1.2,someotherzone.local for serverA2.domainA.dom
Forwarder 0.0.10.in-addr.arpa (10.0.0.1) cannot resolve the host name 192.168.1.1,0.0.10.in-addr.arpa for serverA1.domainA.dom
Forwarder 0.0.10.in-addr.arpa (10.0.0.2) cannot resolve the host name 192.168.1.1,0.0.10.in-addr.arpa for serverA1.domainA.dom
Forwarder 0.0.10.in-addr.arpa (10.0.0.1) cannot resolve the host name 192.168.1.2,0.0.10.in-addr.arpa for serverA2.domainA.dom
Forwarder 0.0.10.in-addr.arpa (10.0.0.2) cannot resolve the host name 192.168.1.2,0.0.10.in-addr.arpa for serverA2.domainA.dom

唯一的例外是由域 B 的 DNS 伺服器(“domainB.dom”)管理的主 AD DNS 區域:對於該條件轉發器,不會生成警報並且轉發器可用性監視器是綠色的。

好的,這是什麼意思?

那些監視器想告訴我什麼?

他們在檢查什麼?

實際上有什麼問題?

為什麼“domainB.dom”區域沒有錯誤,它的配置方式與其他區域完全相同,既作為域 B 的 DNS 伺服器中的區域,又作為域 A 的 DNS 伺服器中的轉發器?

找到了答案,這有點令人不快(至少如果您期望創建管理包的人真正知道他們在做什麼)。

從監視器的描述中提取:

此監視器通過在目標轉發器上執行 NSLOOKUP 來驗證轉發器的可用性。

腳本執行nslookup -timeout=<value> -querytype=<type> <name> <server>

<type>是 A,NS,SOA。

<name>是要解析的目標 DNS 名稱。如果是無條件轉發器,則使用覆蓋值,否則使用轉發器域名。

<server>是發生 NSLOOKUP 查詢的伺服器的名稱。

該值$Target/Property[Type="DNS!Microsoft.Windows.DNSServer.Library.Server"]/ListeningIP$ 提供了目前 DNS 伺服器正在偵聽的所有 IP 地址的列表。

<value>是 timeout seconds/3 因為 timeout seconds 用於設置腳本可以執行的最長時間。

無條件轉發器範例:NSLOOKUP -timeout=30 -querytype=a www.microsoft.com 10.0.0.5將向伺服器 10.0.0.5 查詢 www.microsoft.com 的 DNS 名稱。在這種情況下,您可以將實際超時秒數設置為 90 監視器覆蓋。

條件轉發器範例:NSLOOKUP -timeout=30 -querytype=a www.msn.com 10.0.0.5將向伺服器 10.0.0.5 查詢此監視器所針對的條件轉發器的實際名稱。

這意味著 SCOM 代理將嘗試執行以下查詢:

nslookup -timeout=30 -querytype=a domainB.dom <server>
nslookup -timeout=30 -querytype=a someotherzone.local <server>
nslookup -timeout=30 -querytype=a 0.0.10.in-addr.arpa <server>

這適用於主 AD 域的 DNS 區域(因為 DC 自動將自己註冊A為該區域的空記錄),但對於沒有任何空A記錄的“someotherzone.local”會失敗(我可以確認,手動後創建一個,警報消失,監視器返回綠色)。

當然,第三個查詢總是會失敗,因為在反向查找區域中查找記錄根本沒有任何意義。A

**解決方案:覆蓋 DNS 轉發器可用性監視器以對轉發區域執行NSSOA查詢,而不是A查詢。

這是它從一開始就應該做的事情。**

引用自:https://serverfault.com/questions/435182