DNS over TLS(DoT) 是一种加密 DNS 请求的方式。DoT 和 DoH 的主要区别在于 DoT 使用 UDP 协议,一般通过 853 端口通信;而 DoH 使用 TCP 协议,通常与 HTTPS 共用 443 端口。通过 DoH 发送的 DNS 请求会与其他 HTTPS 流量混合,而基于 DoT 的 DNS 请求则单独占用 853 端口。两种方法提供相似的安全级别,DoH 可能在隐私方面略有优势,但 DoT 的流量因与普通 Web 流量分离,相对更容易被监控。OPNsense 的新版本已支持 DoT。
将 DoT 服务器添加到 Unbound
转到 Services → Unbound DNS → DNS over TLS 页面。点击“+”按钮添加一个新的 DNS over TLS 服务器。本文以 Cloudflare 的 DNS 服务器为例,当然你也可以使用其他任何支持 DoT 的服务器。
注意:在 “DNS over TLS” 页面左上角有“使用系统名称服务器”选项,建议不勾选,以确保完全使用本页面配置的 DNS over TLS 服务器。启用 DNS over TLS 后,无需在 系统 → 设置 → 常规 页面再填写任何 DNS 服务器。

- 服务器 IP 输入
1.1.1.1 - 服务器端口 输入
853
一般无需开启“验证 CN”选项来校验 DoT 服务器证书上的公用名。启用该选项可以确保连接到预期的服务器,从而防止“中间人”攻击。对于 1.1.1.1 来说,其 CN 为 cloudflare-dns.com。

单击“保存”后,服务器会出现在列表中。点击“应用”按钮使更改生效。

在应用更改之前,如果内部网络使用 IPv6 地址,还需要添加辅助地址 1.0.0.1 以及 IPv6 DNS 服务器地址 2606:4700:4700::1111 和 2606:4700:4700::1001。

Cloudflare 还提供阻止恶意软件和成人内容的过滤 DNS。如果你希望使用这些过滤服务,可以参照下表配置,所有服务器的端口均为 853。
| DNS 过滤器 | 服务器 IP | 公用名 (CN) |
|---|---|---|
| 恶意软件 | 1.1.1.2 | security.cloudflare-dns.com |
| 恶意软件 | 2606:4700:4700::1112 | security.cloudflare-dns.com |
| 恶意软件 | 2606:4700:4700::1002 | security.cloudflare-dns.com |
| 恶意软件+成人 | 1.1.1.3 | security.cloudflare-dns.com |
| 恶意软件+成人 | 1.0.0.3 | security.cloudflare-dns.com |
| 恶意软件+成人 | 2606:4700:4700::1113 | security.cloudflare-dns.com |
| 恶意软件+成人 | 2606:4700:4700::1003 | security.cloudflare-dns.com |
测试 DoT 配置
可以访问 Cloudflare 的 测试网站 来验证当前是否通过 DoT 或 DoH 进行解析。该页面还能检查浏览器是否自带了 DoT 或 DoH 配置。例如,在 Chrome 浏览器中,页面会显示仅使用了 DoT:

另一种检查 DNS 查询是否通过 853 端口发出的方法是调整 Unbound DNS 的日志级别。转到 Unbound DNS → Advanced,将日志级别设置为 2 或更高,并勾选“日志查询”选项,然后点击“保存”,再点击“应用更改”。

随后查看日志,你应该能看到在 853 端口上与 Cloudflare DNS 服务器的往来回复。

结论
如果希望内部网络所有设备都强制使用 DoT,可以将所有针对 53 端口的 DNS 请求重定向到 Unbound DNS。若只想让网络使用 DoT,则可以结合公共 DNS 阻止列表,尽可能减少基于 HTTPS 的 DNS 流量。
原文地址:How to Configure DNS over TLS (DoT) in Unbound on OPNsense
觉得内容不错?我要