赞
踩
DNS 策略概述
01/05/2021
本文内容
适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016
可以使用本主题了解 DNS 策略,这是 Windows Server 2016。 可以使用 DNS 策略进行基于 Geo-Location 的流量管理、基于一天的时间的智能 DNS 响应、管理为拆分式部署配置的单个 DNS 服务器、对 DNS 查询应用筛选器 - 等。 以下各项提供有关这些功能的更多详细信息。
应用程序负载均衡。 在不同位置部署多个应用程序实例后,可以使用 DNS 策略来平衡不同应用程序实例之间的流量负载,从而动态分配应用程序的流量负载。
基于 - 地理位置的流量管理。 可以使用 DNS 策略来允许主 DNS 服务器和辅助 DNS 服务器根据客户端和客户端尝试连接到的资源的地理位置响应 DNS 客户端查询,从而向客户端提供最近的资源的 IP 地址。
拆分的 Brain DNS。 使用拆分式 DNS 时,DNS 记录将拆分为同一 DNS 服务器上不同的区域范围,并且 DNS 客户端根据客户端是内部客户端还是外部客户端接收 - 响应。 可以在独立 DNS 服务器上为 - Active Directory 集成区域或区域配置拆分式 DNS。
滤波。 可以配置 DNS 策略,以创建基于你提供的条件的查询筛选器。 DNS 策略中的查询筛选器允许配置 DNS 服务器,以便根据发送 DNS 查询的 DNS 查询和 DNS 客户端以自定义方式做出响应。
取证。 可以使用 DNS 策略将恶意 DNS 客户端重定向到不存在的 IP 地址,而不是将它们定向到它们尝试访问 - 的计算机。
基于一天中的时间重定向。 可以使用 DNS 策略通过基于一天中的时间的 DNS 策略在应用程序的不同地理分布实例之间分配应用程序流量。
新概念
若要创建策略以支持上面列出的方案,必须能够识别区域中的记录组、网络上客户端组以及其他元素。 这些元素由以下新的 DNS 对象表示:
客户端子网: 客户端子网对象表示将查询提交到 DNS 服务器的 IPv4 或 IPv6 子网。 可以创建子网,以稍后根据请求来自的子网定义要应用的策略。 例如,在拆分式 DNS 方案中,可以使用来自内部子网的客户端的内部 IP 地址和外部子网中客户端的不同 IP 地址来响应对名称(如 www.microsoft.com) 的解析请求。
递归范围: 递归范围是控制 DNS 服务器上递归的一组设置的唯一实例。 递归范围包含转发器列表,并指定是否启用递归。 DNS 服务器可以具有许多递归作用域。 DNS 服务器递归策略允许为一组查询选择递归范围。 如果 DNS 服务器对某些查询没有权威,则 DNS 服务器递归策略允许你控制如何解析这些查询。 可以指定要使用哪些转发器以及是否使用递归。
区域范围:DNS 区域可以有多个区域范围,每个区域范围包含其自己的一组 DNS 记录。 同一条记录可以存在于多个范围中,具有不同的 IP 地址。 此外,区域传输在区域范围级别完成。 这意味着,主要区域中的区域范围中的记录将传输到次要区域中的同一区域范围。
策略类型
DNS 策略按级别和类型划分。 可以使用查询解析策略来定义查询的处理方式,使用区域传输策略来定义区域传输的发生方式。 可以在服务器级别或区域级别应用每个策略类型。
查询解析策略
可以使用 DNS 查询解析策略来指定 DNS 服务器如何处理传入解析查询。 每个 DNS 查询解析策略都包含以下元素:
字段
说明
可能值
名称
策略名称
- 最多 256 个字符
- 可以包含对文件名有效的任何字符
State
策略状态
- 启用 (默认)
- 已禁用
级别
策略级别
- 服务器
- 区域
处理顺序
查询按级别分类并应用后,服务器将查找查询符合条件的第一个策略,并应用于查询
- 数值
- 每个策略的唯一值,包含相同级别并应用于值
操作
DNS 服务器要执行的操作
- 对于 (级别设置,允许默认)
- 在 (级别为"拒绝")
- 忽略
条件
策略 (AND/OR) 和要应用策略时要满足的条件列表
- 条件运算符 (AND/OR)
- 条件列表 (请参阅下面的条件)
范围
每个范围的区域范围和加权值的列表。 加权值用于负载均衡分布。 例如,如果此列表包含权重为 3 的 datacenter1 和权重为 5 的 datacenter2,则服务器将在 8 个请求中三次响应来自 datacentre1 的记录
- 按名称和权重 (区域) 列表
备注
服务器级别策略只能将" 拒绝 "或" 忽略" 值作为操作。
DNS 策略条件字段由两个元素组成:
名称
说明
示例值
客户端子网
预定义客户端子网的名称。 用于验证从其中发送查询的子网。
- EQ、西班牙、法国 - 如果子网被标识为西班牙或法国,则解析为 true
- NE、Canada、Mexico - 如果客户端子网是除加拿大和墨西哥外的任何子网,则解析为 true
传输协议
查询中使用的传输协议。 可能的条目为 UDP 和 TCP
- EQ,TCP
- EQ、UDP
Internet 协议
查询中使用的网络协议。 可能的条目为 IPv4 和 IPv6
- EQ、IPv4
- EQ、IPv6
服务器接口 IP 地址
传入 DNS 服务器网络接口的 IP 地址
- EQ,10.0.0.1
- EQ、192.168.1。1
FQDN
查询中记录的 FQDN,可能使用通配符
- EQ、www .com -仅当查询尝试解析 www.contoso.com FQDN 时,解析为 true
- EQ、 * . contoso.com、 * . woodgrove.com -如果查询用于以 * contoso.com *或woodgrove.com 结尾的任何记录,则解析为 true。
查询类型
(,SRV,TXT) 查询的记录类型
- EQ,TXT,SRV -如果查询请求 TXT 或 SRV 记录,则解析为 true
- EQ、MX -如果查询请求 MX 记录,则解析为 true
当天的时间
接收查询的时间
- EQ,10: 00-12:00,22: 00-23: 00 -解析为 true (如果在上午10点到中午之间, 或 在10PM 和晚上11点之间接收查询)
使用上述表格作为起点,下表可用于定义一个条件,该条件用于匹配任何类型的记录的查询,但 contoso.com 域中的 SRV 记录是从 10.0.0.0/24 子网中的客户端通过 TCP 从 10.0.0.0/24 子网中的客户端到 interface 10.0.0.3 的 TCP 记录:
名称
值
客户端子网
EQ、10.0.0.0/24
传输协议
EQ,TCP
服务器接口 IP 地址
EQ,10.0.0。3
FQDN
EQ,* .com
查询类型
NE,SRV
时间
EQ,20: 00-22:00
您可以创建同一级别的多个查询解析策略,只要它们具有不同的处理顺序值。 当有多个策略可用时,DNS 服务器将按以下方式处理传入的查询:
递归策略
递归策略是一 种特殊类型 的服务器级别策略。 递归策略控制 DNS 服务器对查询执行递归的方式。 仅当查询处理达到递归路径时,递归策略才适用。 对于一组查询,可以选择 "拒绝" 或 "忽略" 值。 或者,可以为一组查询选择一组转发器。
可以使用递归策略来实现裂脑 DNS 配置。 在此配置中,DNS 服务器为查询的一组客户端执行递归,而 DNS 服务器不为该查询的其他客户端执行递归。
递归策略包含与下表中的元素相同的常规 DNS 查询解析策略所包含的元素:
名称
说明
应用于递归
指定仅应将此策略用于递归。
递归范围
递归作用域的名称。
备注
只能在服务器级别创建递归策略。
区域传输策略
区域传输策略控制 DNS 服务器是否允许区域传输。 可以在服务器级别或区域级别为区域复制创建策略。 服务器级别策略适用于在 DNS 服务器上发生的每个区域传输查询。 区域级别策略仅适用于在 DNS 服务器上托管的区域上的查询。 区域级别策略的最常见用途是实现阻止或安全列表。
备注
区域传输策略只能使用 DENY 或 IGNORE 作为操作。
你可以使用以下服务器级别区域传输策略拒绝给定子网中的 contoso.com 域的区域传送:
Add-DnsServerZoneTransferPolicy -Name DenyTransferOfContosoToFabrikam -Zone contoso.com -Action DENY -ClientSubnet "EQ,192.168.1.0/24"
您可以创建同一级别的多个区域传输策略,只要它们具有不同的处理顺序值。 当有多个策略可用时,DNS 服务器将按以下方式处理传入的查询:
管理 DNS 策略
可以使用 PowerShell 来创建和管理 DNS 策略。 以下示例介绍了可通过 DNS 策略配置的不同示例方案:
流量管理
你可以根据 DNS 客户端的位置,将基于 FQDN 的流量定向到不同的服务器。 下面的示例演示如何创建流量管理策略,以将特定子网中的客户定向到北美数据中心,并将其他子网定向到欧洲数据中心。
Add-DnsServerClientSubnet -Name "NorthAmericaSubnet" -IPv4Subnet "172.21.33.0/24"
Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet "172.17.44.0/24"
Add-DnsServerZoneScope -ZoneName "Contoso.com" -Name "NorthAmericaZoneScope"
Add-DnsServerZoneScope -ZoneName "Contoso.com" -Name "EuropeZoneScope"
Add-DnsServerResourceRecord -ZoneName "Contoso.com" -A -Name "www" -IPv4Address "172.17.97.97" -ZoneScope "EuropeZoneScope"
Add-DnsServerResourceRecord -ZoneName "Contoso.com" -A -Name "www" -IPv4Address "172.21.21.21" -ZoneScope "NorthAmericaZoneScope"
Add-DnsServerQueryResolutionPolicy -Name "NorthAmericaPolicy" -Action ALLOW -ClientSubnet "eq,NorthAmericaSubnet" -ZoneScope "NorthAmericaZoneScope,1" -ZoneName "Contoso.com"
Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "EuropeZoneScope,1" -ZoneName contoso.com
脚本的前两行为北美和欧洲创建客户端子网对象。 后面的两行在 contoso.com 域中创建区域作用域,每个区域各有一个区域。 后面的两行在每个区域中创建一条记录,将 ww.contoso.com 关联到不同的 IP 地址,一个用于欧洲,另一个用于北美。 最后,该脚本的最后几行创建两个 DNS 查询解析策略,一个策略应用于北美子网,另一个应用于欧洲子网。
阻止域查询
你可以使用 DNS 查询解析策略来阻止查询到域。 下面的示例将阻止所有查询 treyresearch.net:
Add-DnsServerQueryResolutionPolicy -Name "BlackholePolicy" -Action IGNORE -FQDN "EQ,*.treyresearch.com"
阻止子网中的查询
还可以阻止来自特定子网的查询。 下面的脚本将创建 172.0.33.0/24 的子网,然后创建一个策略,以忽略来自该子网的所有查询:
Add-DnsServerClientSubnet -Name "MaliciousSubnet06" -IPv4Subnet 172.0.33.0/24
Add-DnsServerQueryResolutionPolicy -Name "BlackholePolicyMalicious06" -Action IGNORE -ClientSubnet "EQ,MaliciousSubnet06"
允许内部客户端的递归
可以通过使用 DNS 查询解析策略来控制递归。 下面的示例可用于为内部客户端启用递归,同时为裂脑方案中的外部客户端禁用递归。
Set-DnsServerRecursionScope -Name . -EnableRecursion $False
Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True
Add-DnsServerQueryResolutionPolicy -Name "SplitBrainPolicy" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ServerInterfaceIP "EQ,10.0.0.34"
脚本中的第一行更改默认递归作用域,只需将其命名为 "." (点) 来禁用递归。 第二行创建一个名为 InternalClients 的递归作用域,其中启用了递归。 第三行创建一个策略,以将新创建的递归范围应用于通过将10.0.0.34 作为 IP 地址的服务器接口传入的任何查询。
创建服务器级别区域传输策略
你可以使用 DNS 区域传输策略以更精细的方式控制区域传输。 下面的示例脚本可用于允许对给定子网上的任何服务器进行区域传输:
Add-DnsServerClientSubnet -Name "AllowedSubnet" -IPv4Subnet 172.21.33.0/24
Add-DnsServerZoneTransferPolicy -Name "NorthAmericaPolicy" -Action IGNORE -ClientSubnet "ne,AllowedSubnet"
脚本中的第一行将创建一个名为 AllowedSubnet 的子网对象,其中包含 IP 块 172.21.33.0/24。 第二行创建区域传输策略,以允许将区域传输到之前创建的子网上的任何 DNS 服务器。
创建区域级别区域传输策略
你还可以创建区域级别区域传输策略。 下面的示例忽略来自 IP 地址为本例为10.0.0.33 的服务器接口的 contoso.com 的区域传输请求:
Add-DnsServerZoneTransferPolicy -Name "InternalTransfers" -Action IGNORE -ServerInterfaceIP "eq,10.0.0.33" -PassThru -ZoneName "contoso.com"
DNS 策略方案
有关如何在特定情况下使用 DNS 策略的信息,请参阅本指南中的以下主题。
在 Read-Only 域控制器上使用 DNS 策略
DNS 策略与 Read-Only 域控制器兼容。 请注意,需要重新启动 DNS 服务器服务,才能将新 DNS 策略加载到 Read-Only 域控制器上。 这不是可写域控制器所必需的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。