首页 > 代码库 > Windows Server 2016 DNS Policy Split-Brain 3

Windows Server 2016 DNS Policy Split-Brain 3

    在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服务器非常智能,已经根据客户端的请求来分配不同的接口去响应查询请求了,假设公司希望用同一个域名,内外网访问响应不同页面,通过这项功能就可以很好的实现。

本文出自 “一个倔强的孤岛” 博客,转载请与作者联系!

Windows Server 2016 DNS Policy Split-Brain 3