要理解DoH和DoT,首先要看清传统DNS的核心问题。标准的DNS查询使用UDP或TCP协议,在53端口上传输,内容完全没有加密。这导致了三重风险:第一是隐私泄露,任何能够监控网络的人都能知道你访问了哪些网站,即使网站本身使用了HTTPS加密;第二是篡改与劫持,恶意攻击者可以伪造DNS应答,将你引导到钓鱼网站或广告页面,即常说的DNS劫持;第三是审查与干扰,网络管理者可以基于明文DNS请求进行拦截或屏蔽。DoH和DoT通过将DNS查询整合到成熟的加密通道中,从根本上解决了这些问题。
DNS over TLS顾名思义,DoT在DNS客户端和服务器之间,使用与HTTPS网站相同的TLS协议建立一个加密隧道。它仍然使用独立的DNS协议,但将通信端口从标准的53号更换为853端口。当你的设备(客户端)想要解析域名时,它会先与支持DoT的DNS服务器(如`1.1.1.1`或`8.8.8.8`)在853端口上完成一次TLS握手,建立加密连接。此后的所有DNS查询和应答都在这个加密通道内进行,对于网络中间路径上的旁观者,他们只能看到有加密数据流发生,但无法解密出具体的查询内容。DoT的设计保持了DNS作为一个独立、专用服务的定位,网络管理员可以清晰地通过853端口识别和管理DoT流量,这既是优点(便于企业网络策略管控),也可能成为缺点(在限制严格的环境中该端口可能被直接封锁)。
相比之下,DNS over HTTPS采取了另一种集成度更高的策略。DoH没有创造新的端口,而是将DNS查询和应答数据,全部封装成标准的HTTPS请求和响应。这意味着DoT流量与普通的网页浏览、API调用流量毫无二致,都运行在443端口上,混合在浩瀚的互联网HTTPS数据流中。一个DoH查询本质上就是一个发送到特定URL(例如Cloudflare的 `https://1.1.1.1/dns-query`)的HTTP POST或GET请求,服务器返回一个包含DNS应答数据的HTTP响应。由于HTTPS本身已提供端到端加密和完整性验证,DNS信息从而得到了完美保护。这种深度集成带来了极强的隐蔽性,同时也引发了更大的争议——网络管理员很难再将DNS管理流量与其他网页流量区分开。
我们可以通过一个简单的对比来理解它们的核心差异。想象一下你要寄一封密信:使用DoT就像你专门租用了一条有安保的快递线路(853端口)来寄送这封信,保安知道这是“密信通道”,但不知道信的内容;而使用DoH则是你把信的内容写在一张纸上,然后把这张纸塞进一个每天运输成千上万个同类包裹的普通快递箱(HTTPS流量)里寄出,外人既不知道哪个箱子里有你的信,也不知道信里写了什么。
在技术实现上,DoH因其基于HTTP/2或HTTP/3,通常能更好地利用多路复用等现代Web协议特性,减少延迟。主流操作系统(如Windows、Android、macOS)和浏览器(如Chrome、Firefox)都已原生集成DoH或DoT支持。用户或企业IT管理员可以方便地进行配置。例如,在Linux系统上,你可以使用`curl`命令手动发起一个DoH查询,直观地看到其工作方式:
# 使用curl向Cloudflare的DoH端点发送一个DNS查询,请求example.com的A记录
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'
服务器会返回一个JSON格式的加密应答。对于DoT,可以使用`kdig`或`openssl`命令进行测试:
# 使用openssl s_client模拟一个DoT连接,连接到Cloudflare的DNS over TLS服务
openssl s_client -connect 1.1.1.1:853
在此连接建立后,你可以输入二进制的DNS查询数据(通常需要借助其他工具生成)进行测试。
然而,DoH和DoT的普及并非没有争议和挑战。最大的争议点集中在网络可见性与管理上。在企业、学校或公共网络环境中,管理者传统上依赖监控DNS请求来实施安全策略(如阻止恶意软件连接指令服务器、过滤不良内容)和优化网络性能。DoH,特别是当浏览器绕过系统设置,直接使用内置的DoH服务时(如Firefox默认启用),会使得这些网络级的安全策略失效,这被称为“DoH绕过”。企业为了应对,可能需要部署更复杂的深度包检测技术,或在防火墙上直接阻断特定公共DoH服务的IP地址。另一个挑战是服务集中化风险。如果大量用户都使用少数几家大型公司(如Google、Cloudflare)提供的公共DoH服务,会使得这些提供商拥有超乎寻常的用户网络行为洞察力,尽管它们承诺严格的隐私政策,但这仍然引发了关于数据垄断和单点故障的担忧。
那么,在实际应用中该如何选择?对于个人用户,首要目标是提升隐私和避免本地网络劫持,启用浏览器或操作系统的DoH/DoT功能是直接有效的方法,可优先选择信誉良好的隐私友好型提供商。对于企业IT管理员,则需要在安全和管控间找到平衡。一个可行的方案是:在企业内部部署自己的、支持DoT和DoH的递归DNS服务器(如使用Unbound或Bind),并强制将所有企业设备的DNS(包括DoH/DoT)指向此内部服务器。这样既获得了通道加密带来的内部安全(防止内部网络窃听),又保持了统一的管理策略和日志记录能力。
总而言之,DoH和DoT代表了DNS协议向更安全、更私密方向演进的重要一步。它们通过成熟的加密技术,将互联网最基础、却长期曝光的地址查询服务保护了起来。虽然它们的应用引发了关于网络管理模式的重新讨论,但技术发展的方向是明确的。
CN
EN