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

如何使连接到 DNS 服务器的 IP 地址有条件地使用另一个 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 服务器(通过转发或防火墙或过滤器或其他什么???),如果说 PC2(即使是本地的)不酷,则将其保留在受限 DNS 服务器中。

如果有意义的话,两者应该能够同时使用它吗?

*一些简短的回答

  • 通过其他方式阻止的方法(不,它不是用来阻止的)
  • 单个 DNS 服务器?(不确定我想要做的事情是否可以通过这种方式实现。。)
  • 防火墙规则?(很酷,可能会成为其中的一部分以使其工作,但它如何与 DNS 服务器交互?)

*设备/操作系统

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

只要我能按照我希望的方式进行设置,Windows/Linux/Mikrotik 都可以。谢谢。。这真是令人头疼。。

答案1

许多软件都可以做到这一点。我不熟悉 Mikrotik,但我曾在 Linux 上使用过 BIND。您可以找到概述这里

Windows Server 2016 也具有此功能,但我认为您正在寻找的特定功能的配置只能通过 PowerShell 进行。查找概述这里

我也在 Cisco IOS 路由器上做过 DNS 视图 (!),所以如果你身边有这样的路由器,你也可以使用它。但是有一个限制,就是所有记录的 TTL 都设置为 10 秒,没有办法覆盖它,所以我不建议这样做。

答案2

听起来您想要 DNS 视图。谷歌搜索术语“DNS 水平分割”。您应该能够创建“访问控制列表”,然后在 Linux 上的 Bind 等产品中授予对受限/不受限制“视图”的访问权限。

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

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";
        };
};

相关内容