天天看点

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"

<a href="https://s3.51cto.com/wyfs02/M01/92/D2/wKioL1kDTCSwipfvAACshxtsbMg249.jpg" target="_blank"></a>

添加对公网提供服务的主机记录

<a href="https://s5.51cto.com/wyfs02/M01/92/D2/wKioL1kDTQuAA9KfAACGQGmzoSM097.jpg" target="_blank"></a>

添加对内网提供服务器的主机记录,并加入internal ZoneScope区域

<a href="https://s5.51cto.com/wyfs02/M02/92/D3/wKioL1kDUBDz3ECTAACm7O08InU471.jpg" target="_blank"></a>

创建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"

<a href="https://s3.51cto.com/wyfs02/M00/92/D4/wKiom1kDUUizKTFlAABcj3vghTU086.jpg" target="_blank"></a>

默认情况下如果创建了基于接口判断的DNS policy,除了已经匹配接口的请求会按照协议来走,其它未匹配协议的自动走DNS服务器其它可用接口。

登录internal内部机器,可以看到DNS已经设置成了内部接口的80.0.0.8

<a href="https://s1.51cto.com/wyfs02/M02/92/D3/wKioL1kDUwmCKjhRAAHcHn73gpw578.jpg" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M00/92/D3/wKioL1kDUy3jrAhLAADnxJxWx1M513.jpg" target="_blank"></a>

登录internet外部机器,可以看到DNS已经设置成了外部接口的90.0.0.9

<a href="https://s4.51cto.com/wyfs02/M02/92/D5/wKiom1kDU2mwrlRGAAF_XXQwavg627.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/92/D5/wKiom1kDU5CAfbicAAEqFG7TIsQ318.jpg" target="_blank"></a>

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

本文转自 老收藏家 51CTO博客,原文链接:http://blog.51cto.com/wzde2012/1920633

继续阅读