Windows Server 2016 智能DNS(一)
環境介紹:
Hostname:DC.ixmsoft.com
Roles:DC、DNS
IP:192.168.5.20
Hostname:Web1.ixmsoft.com
Roles:Web Server
IP:192.168.6.198
Location:China
Hostname:Web2.ixmsoft.com
Roles:Web Server
IP:192.168.7.198
Location:US
我們先確認兩臺WEB服務器的訪問內容:
首先是中國服務器
然後訪問美國服務器:
兩個區域的服務器準備好後,我們就可以要配置DNS Policy了,我們配置需要使用Powershell來進行配置,要實現地域隔離,首先要先創建DnsServerClientSubnet
也就是說,你要先告訴DNS,那一段子網是屬於北京的客戶端,哪一段子網是屬於美國的客戶端,你告訴了DNS之後,他才知道以後該怎麽判斷轉發請求
我們開始創建北京及美國的子網
Add-DnsServerClientSubnet -Name "beijingsubnet" -IPv4Subnet "192.168.6.0/24" Add-DnsServerClientSubnet -Name "ussubnet" -IPv4Subnet "192.168.7.0/24"
創建完成後,我們可以查詢Get-DnsServerClientSubnet
子網創建好了,我們還需要創建DnsServerZoneScope,這裏是核心中的核心,我們需要在一個DNS區域裏面創建出來多個邏輯的地理區域,一定要理解這個概念,例如,現在有個DNS主區域叫ixmsoft.com,我們就要在ixmsoft.com這個區域裏面再劃分出來邏輯地理範圍,比如需要創建一個北京區域,一個美國區域,這樣做了之後,就實現了同一個DNS主區域下面,包括了多個地理區域
Add-DnsServerZoneScope -ZoneName "ixmsoft.com" -Name "beijing"
Add-DnsServerZoneScope -ZoneName "ixmsoft.com" -Name "us"
創建完成後,我們也可以查詢Get-DnsServerZoneScope -ZoneName "ixmsoft.com"
創建完成邏輯地理區域,主要用來包含主機記錄,串起來做Policy 判斷使用,例如我們創建了邏輯地理區域北京,接著我們就需要創建北京Web服務器的主機記錄,在創建主機記錄過程中,最主要的一步就是指定-ZoneScope,指定了這個參數之後創建出來的這個主機記錄就會綁定在這個地理區域內,之後創建策略,只有策略中指定的子網範圍內客戶端可以訪問對應的“包括地理區域的主機記錄”
Add-DnsServerResourceRecord -ZoneName "ixmsoft.com" -A -Name "web" -IPv4Address "192.168.6.198" -ZoneScope "beijing"
Add-DnsServerResourceRecord -ZoneName "ixmsoft.com" -A -Name "web" -IPv4Address "192.168.7.198" -ZoneScope "us"
我們在此也需要註意:我們定義的-A -Name名稱為web,所以我們用戶最終是以web.ixmsoft.com來訪問服務器的。
創建完成後,我們可以查詢該記錄Get-DnsServerResourceRecord -ZoneName "ixmsoft.com"
我們上面創建的是基於ZoneScope區域的解析記錄,但是我們需要註意的是,如果只有給ZoneScope區域中增加記錄,ZoneScope以外沒有記錄的話,除了自定義的子網用戶以外訪問都會出現無法解析的問題,所以我們還需要在ZoneScope中增加解析記錄
Add-DnsServerResourceRecord -ZoneName "ixmsoft.com" -A -Name "web" -IPv4Address "192.168.6.198"
Add-DnsServerResourceRecord -ZoneName "ixmsoft.com" -A -Name "web" -IPv4Address "192.168.7.198"
執行後,我們就會在DNS中看見剛才上面增加的兩條記錄
以上條件配置好後,我們接下來要創建DNS查詢返回策略了,也是非常重要的,
在這裏我們指定客戶端子網範圍,eq代表等於的意思,一旦客戶端子網等於已經定義好的範圍,即有對應區域內的主機記錄給予響應,Zone Scope參數後面有一個1,這個在之後的文章我們會多次用到,在本次場景中我們是一個完全的分流的場景,如果不完全分流,例如大連用戶百分之70訪問北京服務器,百分之30訪問美國服務器,我們寫1,代表大連客戶端訪問百分之百是由北京區域的主機記錄給予響應
Add-DnsServerQueryResolutionPolicy -Name "beijingPolicy" -Action ALLOW -ClientSubnet "eq,beijingsubnet" -ZoneScope "beijing,1" -ZoneName "ixmsoft.com"
Add-DnsServerQueryResolutionPolicy -Name "usPolicy" -Action ALLOW -ClientSubnet "eq,ussubnet" -ZoneScope "us,1" -ZoneName "ixmsoft.com"
創建好Policy後,我們可以查詢的Get-DnsServerQueryResolutionPolicy -ZoneName "ixmsoft.com"
接著我們就可以測試了,
我們模擬北京的子網地址,然後訪問的是北京的服務器
我們模擬美國的子網地址,然後訪問的是美國的服務器
在此我們的基本配置已經完成了,我們下一節繼續介紹關於Windows Server DNS的相關文章。
Windows Server 2016 智能DNS(一)