Domain-Name-System

為 3 個域控制器創建 DNS A 記錄

  • February 5, 2022

我在我們的網路上設置了一個新域,該域由 2 個域控制器 dc1、dc2 組成。我可以看到 2 個控制器的 A 記錄。但我需要做負載平衡,以便我可以在單個條目中引用 2 個 dc。

我為不同的 IP dc.domain.com 創建了兩個具有相同名稱的 A 記錄。這是標準程序嗎?

活動目錄已經有一種 DNS 負載平衡的形式。你只是看錯地方了。

A記錄只是說明哪個控制器具有哪個 IP 地址。每個域服務(LDAP、Kerberos、全域目錄 LDAP 等)的客戶端都配置了SRV記錄。如果你沒有做任何花哨的事情,你SRV的域中的記錄已經指向每個服務的每個域控制器。

這是 Active Directory 域 DNS 區域的典型結構:

example.com.                               3600 IN SOA      dc1.example.com. admin.example.com 66593 900 600 86400 3600
example.com.                               3600 IN NS       dc1.example.com.
example.com.                               3600 IN NS       dc2.example.com.
example.com.                               600  IN A        192.168.3.1
example.com.                               600  IN A        192.168.4.1
_gc._tcp.example.com.                      600  IN SRV      0 100 3268 dc2.example.com.
_gc._tcp.example.com.                      600  IN SRV      0 100 3268 dc1.example.com.
_kerberos._tcp.example.com.                600  IN SRV      0 100 88 dc2.example.com.
_kerberos._tcp.example.com.                600  IN SRV      0 100 88 dc1.example.com.
_kpasswd._tcp.example.com.                 600  IN SRV      0 100 464 dc2.example.com.
_kpasswd._tcp.example.com.                 600  IN SRV      0 100 464 dc1.example.com.
_ldap._tcp.example.com.                    600  IN SRV      0 100 389 dc2.example.com.
_ldap._tcp.example.com.                    600  IN SRV      0 100 389 dc1.example.com.
_kerberos._udp.example.com.                600  IN SRV      0 100 88 dc2.example.com.
_kerberos._udp.example.com.                600  IN SRV      0 100 88 dc1.example.com.
_kpasswd._udp.example.com.                 600  IN SRV      0 100 464 dc2.example.com.
_kpasswd._udp.example.com.                 600  IN SRV      0 100 464 dc1.example.com.
DomainDnsZones.example.com.                600  IN A        192.168.3.1
DomainDnsZones.example.com.                600  IN A        192.168.4.1
_ldap._tcp.DomainDnsZones.example.com.     600  IN SRV      0 100 389 dc2.example.com.
_ldap._tcp.DomainDnsZones.example.com.     600  IN SRV      0 100 389 dc1.example.com.
ForestDnsZones.example.com.                600  IN A        192.168.3.1
ForestDnsZones.example.com.                600  IN A        192.168.4.1
_ldap._tcp.ForestDnsZones.example.com.     600  IN SRV      0 100 389 dc2.example.com.
_ldap._tcp.ForestDnsZones.example.com.     600  IN SRV      0 100 389 dc1.example.com.
dc1.example.com.                          3600  IN A        192.168.3.1
dc2.example.com.                          3600  IN A        192.168.4.1
_msdcs.example.com.                        3600 IN NS       dc1.example.com.
_gc._tcp.Default-First-Site-Name._sites.example.com. 600 IN SRV 0 100 3268 dc1.example.com.
_kerberos._tcp.Default-First-Site-Name._sites.example.com. 600 IN SRV 0 100 88 dc1.example.com.
_ldap._tcp.Default-First-Site-Name._sites.example.com. 600 IN SRV 0 100 389 dc1.example.com.
_ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.example.com. 600 IN SRV 0 100 389 dc1.example.com.
_ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.example.com. 600 IN SRV 0 100 389 dc1.example.com.
_gc._tcp.alter-site._sites.example.com. 600 IN SRV 0 100 3268 dc2.example.com.
_kerberos._tcp.alter-site._sites.example.com. 600 IN SRV 0 100 88 dc2.example.com.
_ldap._tcp.alter-site._sites.example.com. 600 IN SRV 0 100 389 dc2.example.com.
_ldap._tcp.alter-site._sites.DomainDnsZones.example.com. 600 IN SRV 0 100 389 dc2.example.com.
_ldap._tcp.alter-site._sites.ForestDnsZones.example.com. 600 IN SRV 0 100 389 dc2.example.com.

如果您創建站點,您將獲得它們的附加記錄。這應該使某些電腦比遠端更喜歡詢問他們的本地域控制器。這裡dc2屬於站點alter-site,因此該站點中的任何電腦都會首先詢問它。如果您將所有內容保留為預設值,則兩個控制器都將位於預設站點Default-First-Site-Name中。

您可以通過更改這些SRV記錄來更改控制器之間的負載分佈。看到“100”了嗎?這些是重量。如果您將一個 DC 設置為 67,另一個 DC 設置為 33,則第一個將獲得 2/3 的請求,另一個將獲得 1/3。SRV每條記錄前面的“0”是優先級;如果您可以訪問更大優先級的伺服器,則根本不會查詢較低優先級。詳情請查看SRV記錄說明;網際網路上有很多解釋,包括這個網站。

很少有“不對稱”的記錄。例如,SOA記錄中有一個特定的 DNS 伺服器名稱。但是在這種情況下很少使用這些,這並不構成任何瓶頸。

還有關於SYSVOL. 當客戶端登錄時,在檢查密碼(涉及Kerberos服務)後,他們會向域詢問組策略,並且他們使用域名而不是特定的 DC 名稱來執行此操作,如下所示:(\\example.com\SYSVOL而不是,例如,\\dc1.example.com\SYSVOL)。您可以看到域頂點有多個A記錄,每個域控制器都有一個記錄(範例的第 4 行和第 5 行)。客戶端將使用隨機選擇的A記錄進行連接,因此每個 DC 將具有大致相同的份額。

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