#dns #dnssec #named #dig #bind

trust-dns-server

Trust-DNS 是一个支持 DNSSEC 的高安全和可靠 DNS 服务器。最终它可能替代 BIND9。DNSSEC 支持对所有记录进行实时签名,但当前不支持离线签名的记录。服务器支持动态 DNS,并使用 SIG0 进行认证请求。Trust-DNS 基于 Tokio 和 Futures 库,这意味着它可以轻松集成到其他也使用这些库的软件中。

60 个版本

0.23.2 2023年10月23日
0.23.0 2023年8月22日
0.23.0-alpha.42023年6月11日
0.22.0 2022年9月2日
0.9.3 2016年12月31日

#2142 in 网络编程

Download history 4968/week @ 2024-04-08 6252/week @ 2024-04-15 5699/week @ 2024-04-22 5014/week @ 2024-04-29 5043/week @ 2024-05-06 6215/week @ 2024-05-13 4634/week @ 2024-05-20 4348/week @ 2024-05-27 4597/week @ 2024-06-03 5218/week @ 2024-06-10 4526/week @ 2024-06-17 4964/week @ 2024-06-24 4040/week @ 2024-07-01 5874/week @ 2024-07-08 5750/week @ 2024-07-15 4195/week @ 2024-07-22

19,965 每月下载量
用于 少于 27 个

MIT/Apache

2MB
35K SLoC

注意 此项目已更名为 Hickory DNS,并已移动到 https://github.com/hickory-dns/hickory-dns 组织和仓库,此包/二进制文件已移动到 hickory-server,从 0.24 版本开始。

概览

Trust-DNS 服务器是一个实现区域授权功能的库。

此库包含 DNS 区域托管的基本实现。它能够对区域中的所有记录进行签名,与区域中所有记录相关的服务器 DNSSEC RRSIG 记录。还有一个名为 trust-dns 的二进制文件,可以使用 cargo install trust-dns 从库生成。通过 SIG0(正在开发中的 mTLS 认证方法)支持动态更新。

特性

  • 带有 sqlite 日志后端的动态更新(SIG0)
  • DNSSEC 在线签名(NSEC 不为 NSEC3)
  • DNS over TLS(DoT)
  • DNS over HTTPS(DoH)
  • 转发.stub 解析器
  • ANAME 解析,用于将别名映射到 A 和 AAAA 记录
  • 为别名记录类型生成附加部分

未来目标

  • 具有共识的分布式动态 DNS 更新
  • 基于 mTLS 的动态更新授权
  • 为查询在线创建 NSEC
  • 基于完全提示的解析
  • 可能支持 NSEC3 和/或 NSEC5

Rust 最低版本

此项目的当前最低 rustc 版本是 1.64

版本

Trust-DNS会尽力遵循semver。当公开的API稳定后,Trust-DNS将被提升到1.0版本。这并不意味着Trust-DNS在0.x更新之间的升级过程中一定会出现问题。在可能的情况下,旧API将被弃用,并注明替代方案。Trust-DNS将尽力确保API更改不会破坏依赖于它的软件,尽管不能保证。弃用的接口将在它们被弃用后的至少一个主要版本中保持(如果可能),但在升级到1.0时,所有弃用的接口都将计划被移除。

依赖项

~6–23MB
~365K SLoC