在DNS管理中可能會碰見這樣的問題,例如某公司DNS既提供給內網用戶解析使用,也提供給公網用戶解析使用,可是,可能內網用戶使用的很少,或者公網用戶使用的很少,致使其中一方可能只用到了幾條記錄,可是卻要各自單獨維護一臺DNS服務器,在過去,處於安全考慮只能這樣作,部署多臺DNS服務器,可是到了2016 DNS支持分裂部署的方式,定義DNS policy,實現不一樣的網卡承擔不一樣的DNS查詢請求,例如能夠定義,凡是經過內網接口進來的查詢都走DNS內網卡,經過外網卡進來的查詢都走DNS外網卡。這樣就在單臺服務器上很好的隔離開了DNS查詢
安全
此處咱們將模擬這樣一個場景,Contoso公司是一家遊戲公司,內網用戶須要訪問oa,外網用戶須要訪問遊戲官網,同時由同一臺DNS承擔內外網的請求,內網用戶進來走內網接口,外網用戶進來走除了內網接口之外的其它接口。服務器
實驗環境介紹網絡
16DNS:承擔DNS服務器,設置在公司總部,設置兩張網卡一張對內提供服務,一張對外提供服務ide
IP地址:80.0.0.8 GW:80.0.0.1spa
IP地址:90.0.0.9 GW:90.0.0.13d
Web01:承擔內網的OA辦公服務器,同時也承擔鏈接總部DNS,內網,外網客戶端的路由orm
IP地址1:80.0.0.1 blog
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服務器很是智能,已經根據客戶端的請求來分配不一樣的接口去響應查詢請求了,假設公司但願用同一個域名,內外網訪問響應不一樣頁面,經過這項功能就能夠很好的實現。