#dns #dns-records #dnssec #named #bind #dig

hickory-server

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

5个不稳定版本

0.25.0-alpha.22024年8月6日
0.25.0-alpha.12024年6月16日
0.24.1 2024年4月18日
0.24.0 2023年10月14日
0.1.0 2023年9月26日

#1168 in 网络编程

Download history 2564/week @ 2024-05-03 3635/week @ 2024-05-10 2128/week @ 2024-05-17 3005/week @ 2024-05-24 2074/week @ 2024-05-31 1737/week @ 2024-06-07 1991/week @ 2024-06-14 2028/week @ 2024-06-21 2318/week @ 2024-06-28 2198/week @ 2024-07-05 2096/week @ 2024-07-12 3778/week @ 2024-07-19 4672/week @ 2024-07-26 3038/week @ 2024-08-02 3851/week @ 2024-08-09 7014/week @ 2024-08-16

19,607 每月下载量
用于 8 crates

MIT/Apache

2MB
37K SLoC

概述

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

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

注意 该项目已从Trust-DNS更名为Hickory DNS,并已迁移到https://github.com/hickory-dns/hickory-dns组织及其仓库,该crate二进制文件已迁移到hickory-server,从0.24版本开始,对于早期版本请参阅trust-dns-server

功能

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

未来目标

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

最低Rust版本

此项目的当前最低rustc版本为 1.70

版本控制

Hickory DNS尽可能遵循semver。Hickory DNS将在公开API稳定后升级到1.0。这并不意味着Hickory DNS在0.x更新之间的升级一定会破坏。只要可能,旧API将带有替换这些废弃API的说明进行弃用。Hickory DNS将尽力确保API更改不会破坏依赖于它的软件,尽管不能保证。废弃的接口将在它们被弃用后的至少一个主要版本后(尽可能)得到维护,但在升级到1.0的情况下,所有废弃的接口都将计划移除。

依赖项

~6–22MB
~347K SLoC