如何建立及使用DNS原則來分隔流量

陳照昌 Sam Chen

  • 恆逸教育訓練中心-資深講師
  • 技術分類:網路管理與通訊應用

 

 

概述

很多企業有著跨地理區域的特性,例如有澳洲、亞州的分公司使用者,如果想在澳洲、亞州各放置一台網頁伺服器,希望當地使用者可以就近存取當地的網頁伺服器,而且希望網址名稱是相同,那該如何實現? (以下範例使用 xyz.com 為公司的網域名稱)。

建立DNS原則

我們可以使用 PowerShell建立DNS原則,來實現這樣的想法。步驟如下:

  • 建立用戶端網段
    Add-DnsServerClientSubnet -Name "AsiaSubnet" -IPv4Subnet "172.16.16.0/24"
    Add-DnsServerClientSubnet -Name "AustraliaSubnet" -IPv4Subnet "172.20.20.0/24"
    
  • 建立區域範圍
    Add-DnsServerZoneScope -ZoneName "xyz.com" -Name "AsiaZoneScope"
    Add-DnsServerZoneScope -ZoneName "xyz.com" -Name "AustraliaZoneScope"
    
  • 建立區域範圍的資源紀錄
    Add-DnsServerResourceRecord -ZoneName "xyz.com" -A -Name "www" 
    -IPv4Address "172.16.16.1" -ZoneScope "AsiaZoneScope"
    Add-DnsServerResourceRecord -ZoneName "xyz.com" -A -Name "www" 
    -IPv4Address "172.20.20.1" -ZoneScope "AustraliaZoneScope"
    
  • 建立DNS查詢解析原則
    Add-DnsServerQueryResolutionPolicy -Name "AsiaPolicy" -Action ALLOW 
    -ClientSubnet "eq,AsiaSubnet" -ZoneScope "AsiaZoneScope,1" -ZoneName "xyz.com"
    Add-DnsServerQueryResolutionPolicy -Name "AustraliaPolicy" -Action ALLOW 
    -ClientSubnet "eq,AustraliaSubnet" -ZoneScope "AustraliaZoneScope,1" -ZoneName xyz.com
    

測試

當輸入以上的 PowerShell之後,我們可以來查詢輸入之結果。



再來瞧瞧設定完畢之後,DNS伺服器圖形化介面的狀況。

是的,你注意到了嗎?使用 PowerShell 設定的 ZoneScope及相關的資源紀錄,都沒有出現在圖形化介面中!

接著,我們使用同一個網段的電腦來向DNS查詢 www.xyz.com 得到如下結果。

我們如果使用另一個網段 172.16.16.0/24 的電腦來向DNS查詢 www.xyz.com 得到如下結果。

這樣不同網段的電腦,就可以導向就近當地的伺服器來做服務,達到隔離及分散流量的效果。

結語

你也會發現,微軟作業系統中,很多功能在圖形化介面已經沒有提供了,都必須使用 PowerShell才做的出來。這篇是在 DNS Zone 中建立出 ZoneScope,再建立 DNS 查詢原則的方式,讓分公司電腦上公司網頁的流量導向當地區域網頁伺服器。希望對大家有幫助。

相關學習資源