在DNS管理中可能會遇見這樣的問題,例如某公司DNS既提供給內網用戶解析使用,也提供給公網用戶解析使用,但是,可能內網用戶使用的不多,或者公網用戶使用的不多,導致其中一方可能只用到了幾條記錄,但是卻要各自單獨維護一臺DNS服務器,在過去,處於安全考慮只能這樣做,部署多臺DNS服務器,但是到了2016 DNS支持分裂部署的方式,定義DNS policy,實現不同的網卡承擔不同的DNS查詢請求,例如可以定義,凡是通過內網接口進來的查詢都走DNS內網卡,通過外網卡進來的查詢都走DNS外網卡。這樣就在單臺服務器上很好的隔離開了DNS查詢
此處我們將模擬這樣一個場景,Contoso公司是一家遊戲公司,內網用戶需要訪問oa,萬網用戶需要訪問遊戲官網,同時由同一臺DNS承擔內外網的請求,內網用戶進來走內網接口,外網用戶進來走除了內網接口以外的其它接口。
實驗環境介紹
16DNS:承擔DNS服務器,設置在公司總部,設置兩張網卡一張對內提供服務,一張對外提供服務
IP地址:80.0.0.8 GW:80.0.0.1
IP地址:90.0.0.9 GW:90.0.0.1
Web01:承擔內網的OA辦公服務器,同時也承擔連接總部DNS,內網,外網客戶端的路由
IP地址1:80.0.0.1
IP地址2:90.0.0.1
IP地址3:100.0.0.1 DNS 80.0.0.8
Web02:承擔對外提供官網Web服務器,IP 地址:90.0.0.2 GW:90.0.0.1
Internal: 模仿內網員工 IP地址:80.0.0.100 GW:80.0.0.1 DNS : 80.0.0.8
Internet:模仿外網遊戲用戶 IP地址:90.0.0.100 GW:90.0.0.1 DNS:90.0.0.9
假定90網絡爲公網網絡,16DNS爲分裂部署DNS
由於我們採用接口的方式進行隔離,故不用創建客戶端子網範圍
直接創建“內部邏輯範圍”
Add-DnsServerZoneScope -ZoneName "eip.com" -Name "internal"
添加對公網提供服務的主機記錄
添加對內網提供服務器的主機記錄,並加入internal ZoneScope區域
創建DNS policy,定義凡是經過DNS服務器80.0.0.8這個接口來做查詢的,都丟到內網OA服務器負責響應
Add-DnsServerQueryResolutionPolicy -Name "SplitBrainZonePolicy" -Action ALLOW -ServerInterface "eq,80.0.0.8" -ZoneScope "internal,1" -ZoneName "eip.com"
默認情況下如果創建了基於接口判斷的DNS policy,除了已經匹配接口的請求會按照協議來走,其它未匹配協議的自動走DNS服務器其它可用接口。
登錄internal內部機器,可以看到DNS已經設置成了內部接口的80.0.0.8
訪問www.eip.com 自動跳轉至內網OA服務器負責響應
登錄internet外部機器,可以看到DNS已經設置成了外部接口的90.0.0.9
訪問www.eip.com 自動跳轉至外網門戶服務器負責響應
可以看到DNS服務器非常智能,已經根據客戶端的請求來分配不同的接口去響應查詢請求了,假設公司希望用同一個域名,內外網訪問響應不同頁面,通過這項功能就可以很好的實現。