如何为特定域推送 DNS 服务器?

如何为特定域推送 DNS 服务器?

我有一个域(example.com),它设置为具有两个视图。当从外部查询时host1.example.com,它将位于10.0.0.1内部网络中,并且149.120.10.14(公共IP)。

这意味着连接到互联网的设备应该正常使用其通常的 DNS 集(比如说,从 DHCP 获取的 DNS 8.8.8.8),并且它们将解析host1.example.com为其外部 IP。

但是,当通过 VPN 连接时,此设备应从 OpenVPN 服务器接收特定的 DNS 来解析example.com (且仅此而已example.com

我的理解是使用

push "dhcp-option DNS 10.10.10.100"

内部的 VPN 可达 DNS 服务器在哪里10.10.10.100,它会覆盖设备上的 DNS 服务器,从而丢失已有的 DNS 服务器。

有没有办法推送一个 DNS 名称服务器,并可选择仅将其用于特定域,并保留现有的其他 DNS(用于 Internet/公司解析)?

答案1

这是不可能的。但是这里有一个解决方法。

在您的 VPN 网络内设置一个 DNS 服务器并将其用作所有 VPN 用户的 DNS 服务器。

在此 DNS 服务器上,使用内部 IP 地址为您的特定域名 (example.com) 设置主区域。并设置 DNS 重定向以运行 DNS 服务器自身无法处理的 DNS 查询。

在这种情况下,区域 example.com 上的所有 DNS 查询都将使用来自您服务器的 DNS 记录,而所有其他 DNS 查询将由 8.8.8.8 等解决。

答案2

不幸的是,这是不可能的,因为 DNS 解析本身是由客户端操作系统完成的(只需由 OpenVPN 动态配置),并且所有广泛使用的客户端操作系统都无法根据每个域进行不同的名称解析。

相关内容