码迷,mamicode.com
首页 > Windows程序 > 详细

Windows Server 2016 DNS Policy Load Balancing 4

时间:2017-04-30 01:02:09      阅读:442      评论:0      收藏:0      [点我收藏+]

标签:windows server2016   dns policy   dns负载均衡   dns地域流量切割   

     在前面三篇文章中作者针对Windows Server 2016 DNS Policy的基于地理位置流量分流,基于时间负载的DNS智能定位,以及内外网卡分流的场景进行了简单的实验论证以及场景解释,相信看过思考过的朋友都有收获

     本系列最后一篇文章中,作者将主要介绍下2016 DNS policy针对于负载均衡和之前版本的不同,以及本地负载均衡设计及跨地域负载均衡如何配置,再介绍下2016DNS policy的一些其它用法,最后我们总结下本系列文章

     再2016之前,大家想到Windows Server上面的DNS轮询,可能都会以为这只是一种最简单的轮询高可用方式,创建多个不同主机相同域名的记录,当用户请求时就会再这几个主机之间随机轮询,这个轮询并不是可控的,它没有那么智能是一种随机的轮询,你不能控制具体每台DNS的轮询负载均衡情况,也无法很好的控制应用感知

   在2016 DNS policy里面,将DNS轮询这一功能做了改造,不再是随机轮询那么简单,我们可以通过定义不同的子网,不同的逻辑区域,创建DNS policy,设置例如百分之50的负载转发至总部,百分之25到大连分公司,百分之25到威海分公司,将负载进行均衡,这在以前是没办法控制的,甚至结合第二篇提到的基于时间的DNS智能定位,你可以控制每天什么时间段,由那几个站点的主机接受响应。

   

   在场景1中,我们假设Contoso公司是一家全国性质的IT咨询公司,分别设立在总部北京,分公司大连,分公司威海,希望设置当用户访问公司网站时,百分之50的请求由总部主机响应,百分之25的请求由大连主机响应,百分之25的请求由威海主机响应


实验环境介绍


16DNS:承担DNS服务器,同时也承担公司总部Web服务器,设置在公司总部DC  IP地址:100.0.0.2  GW:100.0.0.1

Web01:承担大连的Web服务器,同时也承担连接总部DNS,威海客户端,大连客户端的路由器

IP地址1:80.0.0.1 

IP地址2:90.0.0.1

IP地址3:100.0.0.1 DNS 100.0.0.2

Web02:承担威海的Web服务器,假设在威海DC,IP地址:90.0.0.2 GW:90.0.0.1

dalian:模仿大连客户端 IP地址:80.0.0.100 GW:80.0.0.1 DNS : 100.0.0.2

weihai:模仿威海客户端 IP地址:90.0.0.100 GW:90.0.0.1 DNS:100.0.0.2


由于我们假定公司全国都需要访问网站内容,所以并不创建客户端子网


直接运行以下命令创建总部,大连分公司,威海分公司主机逻辑范围


 Add-DnsServerZoneScope -ZoneName "eip.com" -Name "BeijingScope"

 Add-DnsServerZoneScope -ZoneName "eip.com" -Name "DalianScope"

 Add-DnsServerZoneScope -ZoneName "eip.com" -Name "WeihaiScope"


技术分享


创建在总部的主机记录

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "100.0.0.2" -ZoneScope "BeijingScope"


技术分享


创建在大连分公司的主机记录

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "80.0.0.1" -ZoneScope "DalianScope"


技术分享


创建在威海分公司的主机记录

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "90.0.0.2" -ZoneScope "WeihaiScope"


技术分享


创建DNS poicy,添加-FQDN参数,代表,凡是客户端请求这个FQDN,则按按照50 25 25的比例分别洒给全国站点的主机。

Add-DnsServerQueryResolutionPolicy -Name "GlobalDNSpolicy" -Action ALLOW -FQDN "eq,www.eip.com"-ZoneScope "BeijingScope,2;DalianScope,1;WeihaiScope,1" -ZoneName "eip.com"


技术分享


登录到weihai本地客户端访问可以看到负责响应的是总部服务器


技术分享


登录到dalian本地客户端访问可以看到负责响应的是大连分公司服务器


技术分享


登录大连分公司Web服务器访问,可以看到负责响应的是总部服务器


技术分享

通过演示大家可以看到效果,Contoso公司全国的网站,假设不需要进行地域流量隔离的操作,那么就可以通过这样创建一条策略,设置应用进行合理控制的负载均衡。


接下来场景2,在这个场景我们假设Contoso公司是一家全国连锁的书店,总部设立在北京,设置大连分公司和伊春分公司,需要实现北京客户端访问时百分之80的流量走北京,百分之20的流量走大连,大连分公司客户端访问百分之50流量访问大连服务器,百分之50流量访问北京服务器,威海分公司客户端访问百分之60流量访问大连服务器,百分之40流量访问威海服务器,实现跨地理位置的负载均衡policy


实验环境介绍


16DNS:承担DNS服务器,同时也承担公司总部Web服务器,设置在公司总部DC  IP地址:100.0.0.2  GW:100.0.0.1

Web01:承担大连的Web服务器,同时也承担连接总部DNS,威海客户端,大连客户端的路由器

IP地址1:80.0.0.1 

IP地址2:90.0.0.1

IP地址3:100.0.0.1 DNS 100.0.0.2

Web02:承担威海的Web服务器,假设在威海DC,IP地址:90.0.0.2 GW:90.0.0.1

dalian:模仿大连客户端 IP地址:80.0.0.100 GW:80.0.0.1 DNS : 100.0.0.2

yichun:模仿伊春客户端 IP地址:90.0.0.100 GW:90.0.0.1 DNS:100.0.0.2



1.分别创建总部,大连分公司,威海分公司子网范围


Add-DnsServerClientSubnet -Name "daliansubnet" -IPv4Subnet "80.0.0.0/24"

Add-DnsServerClientSubnet -Name "weihaisubnet" -IPv4Subnet "90.0.0.0/24"

Add-DnsServerClientSubnet -Name "Zongbusubnet" -IPv4Subnet "100.0.0.0/24"

技术分享


2.创建总部,大连分公司,威海分公司逻辑地理区域

Add-DnsServerZoneScope -ZoneName "eip.com" -Name "dalian"  

Add-DnsServerZoneScope -ZoneName "eip.com" -Name "weihai"

Add-DnsServerZoneScope -ZoneName "eip.com" -Name "beijing"    

技术分享

3.创建分别位于总部,大连分公司,威海分公司逻辑地理区域的主机记录

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "100.0.0.2" -ZoneScope "beijing"

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "80.0.0.1" -ZoneScope "dalian"

Add-DnsServerResourceRecord -ZoneName "eip.com" -A -Name "www" -IPv4Address "90.0.0.2" -ZoneScope "weihai"

技术分享

4.创建DNS policy策略


创建策略控制北京客户端访问时百分之80的流量走北京,百分之20的流量走大连


Add-DnsServerQueryResolutionPolicy -Name "BeijingLBPolicy" -Action ALLOW -ClientSubnet "eq,Zongbusubnet" -ZoneScope "beijing,4;dalian,1" -ZoneName "eip.com" –ProcessingOrder 1

技术分享


创建策略控制大连分公司客户端访问百分之50流量走大连,百分之50流量走北京服

Add-DnsServerQueryResolutionPolicy -Name "DalianLBPolicy" -Action ALLOW -ClientSubnet "eq,daliansubnet" -ZoneScope "beijing,1;dalian,1" -ZoneName "eip.com" –ProcessingOrder 2


技术分享



创建策略控制威海分公司客户端访问百分之60流量走大连,百分之40流量走威海

Add-DnsServerQueryResolutionPolicy -Name "WeihaiLBPolicy" -Action ALLOW -ClientSubnet "eq,weihaisubnet" -ZoneScope "dalian,3;weihai,2" -ZoneName "eip.com" –ProcessingOrder 3


技术分享

登录16dns访问可以看到负责响应的是总部服务器

技术分享


登录dalian访问可以看到一负责响应的是大连服务器,ipconfig flushdns之后响应的是总部,因为大连和总部的负载均衡关系是55


技术分享

技术分享


登录weihai访问可以看到负责响应的是大连服务器


技术分享

按照如上方法,我们就实现了跨地理区域的DNS应用负载均衡,这在以前的单台Windows DNS server上面是很难做到控制的,而且每次DNS policy创建完成后,下次请求丢过来自动生效,不需要重启DNS服务


文章到这里相信大家对于2016里面的DNS policy多多少少已经有了一定的了解,大概用法也都知道了,其中比较关键的命令,例如

Add-DnsServerQueryResolutionPolicy

大家可以查看Technet了解更为详细的命令用法https://technet.microsoft.com/library/mt126273.aspx


本文主要参考微软doc.microsoft.com上面的文章进行实际演练,将真实的实验成果和使用场景为大家讲述

https://docs.microsoft.com/zh-cn/windows-server/networking/dns/deploy/dns-policy-scenario-guide

弱水三千只取一瓢,老王只挑取了其中我认为较为实用,应该好好拿出来说下的部分为大家讲解了,还有好多其它的内容,感兴趣大家去微软官网进行学习,也欢迎大家和我探讨交流2016新技术


   文章最后我们来总结下,通过几篇文章大家可以看出,2016 DNS policy变的更加智能化了,这是好事,将一些企业化的内容新增了进来,地域流量切割,内外网卡分流,基于时间的智能DNS定位,DNS负载均衡控制,虽然这些东西并不微软创造的,netsclar bind等等产品上面早就有了,但是可以看到微软在进步,也是好事,2012时代,老王感觉Windows Server 变化最多的几个角色,要数DHCP,IIS,ADFS,Hyper-V ,DirectAccess ,文件服务器及存储,Cluster其次是AD,BranchCache等,不过根据老王的观察,有一个趋势,那就是全面智能化,软件定义化,融合化。

    智能化具体体现在DHCP,DNS,DirectAccess,IIS,以及身份验证等方面,拿身份验证来说,以前身份验证就是账户名称密码,token里面就User right,user sid  group sid这些,2012开始增加了cliam进入token,这就有很多东西可以玩了,不光是用户登录添加了cliam,连设备也可以添加cliam,当授权发生时,不光可以针对用户密码进行评估,还可以针对用户声明,设备声明,资源声明等进行评估,也整合在sharepoint,mdm,mfa等场景中。

    因此广大itpro也需要根据时代的变化,调整自己学习的方向,不要只了解表面的功能,学习以前的知识,也应该多看一些技术变化,多去思考新技术的场景和原理,在变革的智能化时代多做事


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

Windows Server 2016 DNS Policy Load Balancing 4

标签:windows server2016   dns policy   dns负载均衡   dns地域流量切割   

原文地址:http://wzde2012.blog.51cto.com/6474289/1920723

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!