我们在 Windows Server 2019 上有一个带有路由器和内部 DNS 的网络。DNS 通过路由器上的 NAT 对外部可见(UDP 53 -> 服务器 IP,这是必需的,因为我们是隐藏主/我们域的权威 DNS)。
一段时间以来,我们收到恶意 DNS 请求作为放大攻击的一部分。
我们按照本文使用Set-DNSServerresponseratelimiting
命令来使用响应率限制......到目前为止一切顺利。
现在,同一篇文章和另一篇文章描述了一种如何将递归仅限于内部客户端的方法。
本质上,这两篇文章都说您关闭递归,然后添加一条规则,允许符合特定条件的客户端使用递归。
第一步是关闭递归:
Set-DnsServerRecursionScope -Name . -EnableRecursion $false /* or $true */
我正在使用 IP 为 的 Mac 进行测试,192.168.1.149
并使用 dig 命令,例如dig -4 @server some.obscuredomain.com
检查 dig 命令是否打印禁用递归的警告。这取决于一般设置。如果我使用上述命令打开或关闭此功能,该dig
命令会相应地显示(或不显示)有关递归的警告。到目前为止也很好。
禁用它并添加例外的完整命令序列如下:
Add-DnsServerClientSubnet -Name "Internal-24" -IPv4Subnet "192.168.1.0/24" -PassThru
Set-DnsServerRecursionScope -Name . -EnableRecursion $False
Add-DnsServerRecursionScope -Name "InternalClients" -EnableRecursion $True
Add-DnsServerQueryResolutionPolicy -Name "AllowInternal" -Action ALLOW -ApplyOnRecursion -RecursionScope "InternalClients" -ClientSubnet "EQ,Internal-24"
但是,我使用这个命令序列,无论我做什么,我都无法让它在Mac上递归。
我以为我的子网可能是错误的,但是对于我刚刚使用的测试"NE,Internal-24"
,认为这两个子句中的任何一个都应该与请求匹配(EQ 或 NE 应该与这些请求匹配,你在子网上或者你在不是)。我也尝试过-Computername
或者-Fqdn
。显然没有什么区别。
有任何想法吗?