首页
/ PowerDNS/dnsdist 项目中 DoQ 和 DoH3 SNI 回归测试的演进

PowerDNS/dnsdist 项目中 DoQ 和 DoH3 SNI 回归测试的演进

2025-06-17 03:07:29作者:彭桢灵Jeremy

在 PowerDNS 的 dnsdist 项目中,开发团队一直在不断完善对现代 DNS 传输协议的支持,特别是基于 QUIC 的 DNS-over-QUIC (DoQ) 和 DNS-over-HTTP/3 (DoH3) 协议。近期,项目在 CI 测试流程中针对这些协议的 SNI(服务器名称指示)功能进行了重要改进。

背景与挑战

SNI 是 TLS 协议的一个重要扩展,允许客户端在握手阶段指定要连接的主机名。对于基于 QUIC 的 DNS 传输协议来说,正确处理 SNI 对于多租户环境和虚拟主机配置至关重要。dnsdist 团队开发了针对 DoQ 和 DoH3 的 SNI 功能回归测试,但在初始阶段遇到了依赖库版本的限制问题。

技术实现演进

最初的实现依赖于 Quiche 库(某公司的 QUIC 实现)的特定功能,特别是需要访问某些内部状态来验证 SNI 处理是否正确。在 Quiche 0.22.0 及更早版本中,缺乏必要的 API 来获取这些信息,导致测试无法完整实现。

随着 Quiche 0.23.0 的发布,API 发生了重大变化(虽然带来了迁移成本),但提供了团队所需的功能访问能力。开发团队随后:

  1. 首先更新了代码库以兼容 Quiche 0.23.0 及更高版本
  2. 将构建系统升级至使用 Quiche 0.23.4
  3. 最终在 CI 测试流程中启用了完整的 DoQ 和 DoH3 SNI 测试套件

技术意义

这一改进使得 dnsdist 能够:

  • 更全面地验证 QUIC 协议下的 SNI 处理逻辑
  • 确保多租户环境中基于主机名的路由功能正常工作
  • 提高 DoQ 和 DoH3 实现的稳定性和兼容性
  • 为未来可能的协议扩展奠定测试基础

对用户的影响

对于使用 dnsdist 的管理员和开发者来说,这一系列改进意味着:

  1. 更可靠的 SNI 支持,可以安全地部署基于主机名的服务区分
  2. 更严格的协议实现验证,减少生产环境中的兼容性问题
  3. 为采用现代 DNS 传输协议提供了更强的质量保证

随着 DNS-over-QUIC 和 DNS-over-HTTP/3 的逐渐普及,dnsdist 对这些协议的支持和测试覆盖的完善,使其在高效、安全的 DNS 解析解决方案中保持了领先地位。

登录后查看全文