在 Azure 中實作水平分割 DNS
Contoso 會在其周邊網路中使用網際網路對應 DNS 伺服器,以解析外部用戶端的 DNS 查詢。 內部 DNS 伺服器則會解析內部用戶端的查詢。 IT 小組需要一種方法來解析 Azure 中內部及外部用戶端的相同名稱。 您建議小組使用水平分割的 DNS。
什麼是水平分割 DNS?
「水平分割 DNS」(有時也稱為「核心分裂 DNS」) 會針對網際網路及內部資源使用相同的 DNS 網域名稱。 擁有相符的內部及外部 DNS 命名空間可能會造成某些問題, 不過,水平分割 DNS 可以為這些問題提供解決方案。
水平分割 DNS 是一種設定,讓您的資源在相同網域中擁有兩個主要 DNS 區域,該網域會包含網域名稱註冊資訊。 您的內部網路主機會導向至單一區域,而外部主機則會導向至另一個區域以進行名稱解析。
例如,在網域 contoso.com
的非分割 DNS 設定中,您可能會有類似下表中範例的 DNS 區域。
Host | 記錄類型 | IP 位址 |
---|---|---|
www | A | 131.107.1.200 |
轉送 | A | 131.107.1.201 |
Webserver1 | A | 192.168.1.200 |
Exchange1 | A | 192.168.0.201 |
當網際網路上的用戶端電腦想要使用 relay.contoso.com
的發佈名稱來存取 SMTP 轉送時,該電腦會查詢傳回結果 131.107.1.201 的 DNS 伺服器。 然後,該用戶端會透過 SMTP 建立與該 IP 位址的連線。
但是,組織內部網路上的用戶端電腦也會使用 relay.contoso.com
的發佈名稱。 DNS 伺服器會傳回相同的結果:131.107.1.201 的公用 IP 位址。 用戶端現在會使用發佈電腦的外部介面,嘗試連線到所傳回的 IP 位址。 視用戶端設定而定,這不一定會成功。
在 Azure 中實作水平分割 DNS
設定網域名稱相同的兩個區域,即可避免這個問題。 若要在 Azure 中實作水平分割的 DNS,您必須建立下列兩個 Azure DNS 區域:
- 名為
contoso.com
的公用 DNS 區域。 您必須將適當 VM 的公用 IP 位址登錄為此區域內的 DNS 記錄。 - 同樣命名為
contoso.com
的私人 DNS 區域。 您必須將適當的 VNet 連結到此區域作為登錄 VNet。 Azure 會自動將該 VNet 上的 VM 登錄為您私人區域中的主機 (A) 記錄,指向 VM 的私人 IP 位址。
Contoso.com
的私人區域可能會包含下表中的資訊。
Host | 記錄類型 | IP 位址 |
---|---|---|
www | CNAME | Webserver1.contoso.com |
轉送 | CNAME | Exchange1.contoso.com |
Webserver1 | A | 192.168.1.200 |
Exchange1 | A | 192.168.1.201 |
Contoso.com
的公用區域可能會包含下表中的資訊。
Host | 記錄類型 | IP 位址 |
---|---|---|
www | A | 131.107.1.200 |
轉送 | A | 131.107.1.201 |
MX | Relay.contoso.com |
現在,內部網路和外部網路中的用戶端電腦,可以將名稱 relay.contoso.com
解析為適當的內部或外部 IP 位址。
注意
在 Windows Server DNS 中,可使用 DNS 原則水平分割 DNS。