小编Ste*_*pCZ的帖子

我是否可以使用服务器 2016 DNS 策略返回备用 IP,但仅针对域中的某些记录?

我需要提供一种 DNS 裂脑场景,有两个关键目标:

  1. “特殊”DNS 客户端(基于其子网)必须将一个域中的某些 A 记录解析为与其他客户端不同的 IP 地址
  2. 无论哪个客户提出要求,同一域中的所有其他记录都必须同等解析。

换句话说,我想创建一种“DNS 重写”或覆盖,其中对于某些客户端来说几乎没有记录会有所不同。我希望通过 Server 2016 中的 DNS 策略来实现这一目标,该策略将“split Brain/horizo​​n”描述为预期场景之一,例如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

3
推荐指数
1
解决办法
3085
查看次数