是否可以使用 AdGuard Home 和 DNSSEC 通过 TLS 进行 DNS,但使用 AdGuard 下游的 Bind9 内部 DNS 服务器?

是否可以使用 AdGuard Home 和 DNSSEC 通过 TLS 进行 DNS,但使用 AdGuard 下游的 Bind9 内部 DNS 服务器?

在我绘制的图表中,左侧显示了我当前 LAN 的 DNS 查询路径,如果可能的话,我希望它能像右侧所示那样使用 AdGuard 和 DNSSEC 或 DNS over TLS,我有一个不错的物理 Proxmox 主机,可以在需要时拥有两个独立的虚拟机,这可能吗?

我当前在 Proxmox Host 上运行 Ubuntu Server VM,为我的内部 LAN(家庭实验室)运行 Bind9 DNS,我想在单独的 VM 上设置 AdGuard,并使用 DNSSEC 或 DNS over TLS 来处理我的 bind9 盒上游的所有内容。

我当前的 DNS 查询路径是 Netowrk 192.168.0.0/24 > 192.168.0.253 Bind9Server(这处理对私有 IP 范围的 A 记录和 CNAMES 等的请求,如果未找到则传递到上游)> 8.8.8.8(我的 LAN 之外的任何内容的公共 DNS)

相反,我希望 DNS 查询(如果由我的 Bind9 服务器向上游传递)通过 DNSSEC(或 DNS over TLS)传递到我的 AdGuard VM,以便进行安全的广告拦截和加密的公共查询。请问有人能告诉我这是否可行,或者我是否需要更改拓扑等?任何指示都将不胜感激。我的网络图

答案1

我几乎完全按照您描述的方式操作:使用 bind(虽然我同时使用 bind 和 free-ipa,它们在后台运行 bind 来提供 DNS)连接到我的家庭 LAN。LAN 上的私有服务器由 BIND 解析,而 ADGuard Home 服务器则用作其他所有服务器的转发器。所需的只是在您的 BIND 选项配置中指定 ADGuard 服务器,如下所示:

forwarders {
    # AdGuard-Home filtering
    10.0.2.3;
};
forward only;

就是这样!

DNSSEC 目前在 BIND 上默认启用,如果您只想确保来自外部的响应是真实的,则只需在 ADGuard 上启用它。另一方面,如果您还想加密本地区域记录,则需要进行一些额外的配置。虽然我个人认为这对于小型 LAN 来说有点过头了,但这完全取决于您自己。

除非您对 DNS 查询感到敏感,否则我也不认为通过 TLS 实现 DNS 查询有什么价值,因为它所做的只是隐藏 DNS 流量以防止窃听。同样,这取决于您。

这种设置有一个小小的副作用:由于 ADGuard 服务器通过返回 0.0.0.0 来过滤主机,因此它实际上改变了查询结果,这正是 DNSSEC 旨在检测的东西。当您在日志中看到大量“信任链断裂”错误时,请不要感到惊讶。

相关内容