Chinaunix首页 | 论坛 | 博客
  • 博客访问: 487810
  • 博文数量: 158
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 904
  • 用 户 组: 普通用户
  • 注册时间: 2016-10-10 11:17
文章分类

全部博文(158)

文章存档

2018年(74)

2017年(84)

我的朋友

分类: WINDOWS

2017-12-28 11:35:12

【摘要】

在Windows Server 2016以前的版本,DNS服务只能提供DNS的循环响应来实现负载平衡;但是在Windows Server 2016中的DNS,可以通过配置DNS策略来使实现负载平衡。

       学领未来直播学IT技术:


【正文】

一、 什么是DNS策略

DNS策略是2016中的新功能,不同于我们平常的策略,它是根据我们的配置获取不同的返回值,从而实现基于返回值的解析功能。它能实现以下功能:

1)     应用程序负载平衡。 

当您在不同位置部署了多个应用程序实例时,可以使用DNS策略来平衡不同应用程序实例之间的流量负载,为应用程序动态分配流量负载。

2)     地理-基于位置的交通管理。

您可以使用DNS策略来允许主DNS服务器和辅助DNS服务器根据客户端尝试连接的客户端和资源的地理位置来响应DNS客户端查询,为客户端提供最近资源的IP地址 。。

3)     拆分DNS

对于相同的DNS记录,DNS策略能将不同的区域范围访问的客户端进行解析,判断是从内网访问还是外网访问。

4)     筛选。 

您可以配置DNS策略来创建基于您提供的条件的查询过滤器。 DNS策略中的查询过滤器允许您将DNS服务器配置为根据发送DNS查询的DNS查询和DNS客户端以自定义方式进行响应。

5)     鉴定。

 您可以使用DNS策略将恶意DNS客户端重定向到不存在的IP地址,而不是将其引导到他们试图访问的计算机。

6)     基于时间的重定向

您可以使用DNS策略通过使用基于一天中的时间的DNS策略来在应用程序的不同地理位置分布的实例上分发应用程序流量。

本文示例配置DNS策略来实现负载平衡。

二、 配置DNS策略实现负载平衡

1.     实验环境

实验拓扑如下:

                                               image001.png

假如公司部署了一个网站,该网站在广州和深圳各有服务器提供服务,其中广州服务器拥有的资源是深圳的两倍;若使用DNS轮询,可能导致有的服务器负载过重,有的服务器负载空闲;因此,我们希望实现所有客户端请求按照2:1的比例分配给两地的web服务器响应

   

2.     配置DNS策略

1)     创建区域范围。为广州和深圳各创建一个区域范围。运行powershell命令Add-DnsServerZoneScope -ZoneName "test.com" -Name "GZZoneScope" 和Add-DnsServerZoneScope -ZoneName "test.com" -Name "SZZoneScope"

image002.jpg

2)     添加记录到区域范围,添加两地 web 服务器主机的记录到两个区域范围。运行powershell命令Add-DnsServerResourceRecord -ZoneName "test.com" -A -Name "www" -IPv4Address "10.10.10.100" -ZoneScope "GZZoneScope"Add-DnsServerResourceRecord -ZoneName "test.com" -A -Name "www" -IPv4Address "10.10.11.100" -ZoneScope "SZZoneScope"

image003.jpg

3)     创建策略;运行命令Add-DnsServerQueryResolutionPolicy -Name "WebPolicy" -Action ALLOW –FQDN "eq,*.contoso.com" -ZoneScope "GZZoneScope,2;SZZoneScope,1" -ZoneName "test.com",已分配2/3的流量定向到广州服务器,1/3的流量定向到深圳服务器。–FQDN "eq,*.contoso.com" 表示应用该策略的条件,此处为contos.com内部用户

image004.jpg

三、 配置DNS策略实现分区

1.     应用场景

当网站存在两个版本,比如内部使用的版本,服务器的IP为10.0.0.39;和外部用户使用的版本,服务器IP为65.55.39.10,管理员需要再承载这两个区域的不同DNS服务器单独管理它们,使用DNS策略可以将这些区域承载在同一台DNS服务器上。

2.     配置DNS策略

1)     创建区域范围;此处将外部版本的记录存放在默认区域范围,因此不需要创建外部解析的区域范围,只创建内部解析的区域范围。运行命令Add-DnsServerZoneScope -ZoneName "test.com" -Name "internal"

image005.png

2)     添加记录到区域范围;在内部区域范围内,记录添加的 IP 地址 10.0.0.39,它是专用 IP;在默认区域范围相同的记录,添加 65.55.39.10 的 IP 地址。运行命令Add-DnsServerResourceRecord -ZoneName "test.com" -A -Name "www" -IPv4Address "65.55.39.10" Add-DnsServerResourceRecord -ZoneName "test.com" -A -Name "www" -IPv4Address "10.0.0.39” -ZoneScope "internal"

image006.jpg

3)     创建DNS策略;由于外部区域范围建立在默认区域范围内,因此此处不需要为默认范围创建策略;为内部网络的内部区域范围建立策略可以使用命令Add-DnsServerQueryResolutionPolicy -Name "SplitBrainZonePolicy" -Action ALLOW -ServerInterface "eq,10.0.0.56" -ZoneScope "internal,1" -ZoneName test.com,此示例中使用服务器接口作为条件,以便区分内部和外部的客户端。 另一种方法来区分内部和外部客户端是通过使用客户子网作为条件。

image007.jpg

阅读(1404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~