DNSoverTLS 用于 Bind9/Stunnel 中的上游递归请求

DNSoverTLS 用于 Bind9/Stunnel 中的上游递归请求

关于 DNSoverTLS 和不同设置组合的信息有很多,我一直在慢慢研究不同的组合来为我们找到正确的设置,但这导致了几个我需要帮助澄清的问题。

从开始dnsmasq之后systemd-resolved我们快速(阅读:经过大量工作)意识到在我们的设置中,我们需要一个支持递归这超出了这两个的范围。我们需要递归的具体原因是公共解析器无法解析 Spamhaus 等反垃圾邮件/RBL 服务的请求,因此我们需要能够直接与根服务器对话(无论如何这就是我的理解)。所以我适应了bind

我知道 Bind9 不支持DNSoverTLS自身,因此用Stunnel它来加密通信,但是从那里开始的路径让我有点困惑...

  1. Stunnel 是否加密其下游(客户端请求)或上游(递归/解析器)请求,或者两者?
  2. 我的理解是否正确?递归意味着请求直接发送到根 DNS 服务器,然后向下递归迭代,直到找到权威名称服务器并能解析请求,而不是发送到 Quad9/Cloudflare/Google/etc 等解析器?
  3. 根 DNS 服务器本身是否支持 DNSoverTLS 还是仅支持上述解析器服务?

我们的是独立服务器,它并不是一个开放的解析器,除了来自应用程序(例如postfix,或通过 VPN 直接连接到服务器的客户端)的内部请求之外,它也不是权威的,它只是一个缓存 DNS 服务器。

我的目标是加密我们的上游/递归请求,我走在正确的轨道上吗?

答案1

stunnel 是否加密其下游(客户端请求)或上游(递归/解析器)请求,或者两者?

假设你正在关注本 ISC BIND 指南,则 stunnel 正在解密传入的 DoT 连接,而 BIND 不会对 stunnel 加密发出任何递归请求。

  • stunnel 在端口 853 上监听传入的 DoT 连接,然后将任何 DNS 请求传递到端口 53(未加密 DNS 的标准端口)上的 BIND。

  • 来自 BIND 转发的传出请求将传递到端口 1053 上的 stunnel,然后 stunnel 在端口 853 上发送最终的 DoT 连接。

  • 该指令禁用正常的回退到标准分辨率的功能forward only;

我的理解是否正确?递归意味着请求直接发送到根 DNS 服务器,然后向下递归迭代,直到找到权威名称服务器并能解析请求,而不是发送到 Quad9/Cloudflare/Google/etc 等解析器?

“递归”是指服务器尝试自行追踪任何未知域的 IP(而不是依靠其他 DNS 服务器代其执行此操作)。但您描述的是典型的过程,是的。

根 DNS 服务器本身是否支持 DNSoverTLS 还是仅支持上述解析器服务?

虽然我可能错了,但我的理解是根名称服务器不支持 DoT(因此只有配置为处理它的 DNS 服务器,就像您描述的那些)。

相关内容