如何使IP地址连接到您的DNS服务器使用另一个有条件的DNS服务器

正如你所看到的,标题是相当一口,但我不完全知道该怎么称呼它,但它是什么。

PC1(外部):PC2(本地):

IP: 41.1.2.3 DNS: 168.5.5.5 IP: 41.4.4.5 DNS: 168.5.5.5 

受限DNS:

IP: 168.5.5.5

无限制的DNS:

IP: 168.1.1.1

我需要PC1和PC2连接到受限制的DNS服务器,并且在它们之间切换,而不需要实际改变PC1或PC2的设置,也不需要它们在活动目录中。

因此,从某种意义上说,受限制的DNS服务器将被告知PC1的IP很酷,应该使用无限制的DNS服务器(通过转发或防火墙或filter或什么???),如果说PC2(即使是本地)不酷,保持它在受限制的DNS服务器中。

两者应该能够同时使用,如果这是有道理的?

*一些简短的答案

  • 阻止方法通过其他手段(不,它不是这样的阻止)
  • 单一的DNS服务器? (不知道我想要做什么是可能的这种方式..)
  • 防火墙规则? (酷,可能会成为这个工作的一部分,但它将如何与DNS服务器交互?)

*设备/ OS

  • 我有2个Mikrotiks可用
  • 我有2个Windows服务器可用
  • 我有能力在这两个上安装Linux。

只要我可以按照我所希望的方式设置,Windows / Linux / Mikrotik就可以运行。 谢谢..它相当头痛..

许多软件可以做到这一点。 我不熟悉Mikrotik,但是我已经在Linux上使用了BIND。 你可以在这里find一个概述。

Windows Server 2016也有能力做到这一点,不过我相信你要找的特定function的configuration只能通过PowerShell。 在这里find一个概述。

我也在Cisco IOS路由器(!)上完成了DNS视图,所以如果你有其中一个,你也可以使用它。 然而,一个限制是,所有logging上的TTL设置为10秒,无法覆盖它,所以我不build议这样做。

听起来像你想要的DNS视图。 谷歌术语“DNS水平分割”。 您应该能够创build“访问控制列表”,然后授予访问限制/无限制的“视图”在一个产品,如绑定在Linux上。

我在我们的一个亚马逊实例中大致使用了以下内容:

 acl internal { 172.31.32.0/20; 127.0.0.1/8; localhost; }; view "amazon-internal-view" { match-clients { internal; }; zone "." IN { type hint; file "named.ca"; ... }; view "external-view" { zone "example.com" IN { type master; file "zones/example.com.ext"; }; };