Windows Server 2016 支持 DNS 策略,在其他场景中提供对裂脑 DNS 的支持:
您可以配置 DNS 策略以指定 DNS 服务器如何响应 DNS 查询。DNS 响应可以基于客户端 IP 地址(位置)、一天中的时间和其他几个参数。DNS 策略支持位置感知 DNS、流量管理、负载平衡、裂脑 DNS 和其他场景。
我已经阅读了DNS 策略概述页面,但是当并非所有 DC 都是 Server 2016 时,我似乎无法在任何地方找到有关它如何在 AD 集成区域上工作的文档。
我无法想象它会工作得那么好,因为下层服务器不知道如何解释策略并相应地采取行动,但是由于信息是在 AD 中复制的,我可以预见到旧 DC 忽略新属性并做出响应的情况以某种“默认”方式(不应用政策),而新的 DC 将根据政策做出响应。
我认为在某些情况下你可以(或已经这样做)让客户端指向 DC 的子集,因为这可以提供一种使用较新功能的方法,而无需一次升级所有 DC。
但是,我找不到任何关于我所描述的是它实际如何工作的信息,或者您是否根本无法在混合环境中使用新功能,或者介于两者之间。
我最近发现-WhatIf
,-Verbose
和-ErrorAction
参数上的DNS策略cmdlet破裂; 在这里投票以解决这个问题。并且要小心!
domain-name-system active-directory split-dns windows-server-2016 dns-policies
我相当确定我已经发现了一个错误,但我正在尝试理解它并进行完整性检查。
一种策略,如果请求正在查找AND
客户端 IP 不在特定子网中的特定CNAME
记录,则该策略匹配并生成一条记录,该记录的目标不在策略涵盖范围内且不存在于范围内。
example.com
example.com
默认范围内的记录:
testme IN A 10.1.2.3
testOther IN A 10.11.11.11
TesterScope
TesterScope
:
testme IN CNAME testOther.example.com.
MySubnet
包含10.8.8.0/24
EQ
客户端子网MyQRP
使用以下配置查询解析策略:
And
TesterScope
EQ,testme.example.com.
EQ,MySubnet
这将产生预期的结果,即:
testme.example.com
从IP内MySubnet
(应匹配),它会返回正确(和解决)的CNAME
记录,即使CNAME
必须在默认范围(该QRP特别是当应该只匹配来解决FQDN
是testme.example.com
不是testOther.example.com
)。因此,结果是10.11.11.11
,这是正确的。 …domain-name-system powershell active-directory windows-server-2016 dns-policies
我需要提供一种 DNS 裂脑场景,有两个关键目标:
换句话说,我想创建一种“DNS 重写”或覆盖,其中对于某些客户端来说几乎没有记录会有所不同。我希望通过 Server 2016 中的 DNS 策略来实现这一目标,该策略将“split Brain/horizon”描述为预期场景之一,例如https://blogs.technet.microsoft.com/networking/2015/05/12/split-brain -dns-deployment-using-windows-dns-server-policies/ - 但看来我无法实现目标2。
在我的测试中,我创建了一个 ZoneScope,其中包含要返回到匹配客户端的备用 IP 地址和基于客户端子网的查询解析策略,从而实现了目标 1)。但是,如果客户端被匹配为来自“特殊”子网,则它只能解析来自特殊 ZoneScope 的记录,但不能解析来自“默认”范围的记录 - 因此目标 2 失败。
我是否错过了一个配置步骤,如果我的特殊区域范围不包含匹配的记录,则可以回退到默认的区域范围?有人告诉我,这可以通过带有响应区域策略的 BIND DNS 轻松完成,但如果可能的话,我想坚持使用 MS。另外,使用主机文件也是不可能的,因为那些“特殊”服务器并不完全在我们的控制之下。
#define subnet of restricted servers
Add-DnsServerClientSubnet -name SpecialServers -IPv4Subnet 192.168.0.0/24
#define ZoneScope for the special records
Add-DnsServerZoneScope -ZoneName "test.local" -Name "SpecialZoneScope"
#Prepare some testing records in the default scope
Add-DnsServerResourceRecord -ZoneName "test.local" -A -Name HostA -IPv4Address 1.1.1.1
Add-DnsServerResourceRecord -ZoneName "test.local" -A …
Run Code Online (Sandbox Code Playgroud) domain-name-system split-dns windows-server-2016 dns-policies