Knot Resolver is a caching recursive DNS resolver. It is designed to scale from small personal deployments through to heavily loaded resolver infrastructure.
Its core architecture combines C and LuaJIT and exposes a state-machine-like API that can be extended with modules. A Python management component provides a higher-level interface for configuring and operating the resolver.
Knot Resolver takes a shared-nothing approach to scaling. Independent workers can be assigned to available CPU cores and added or removed without interrupting service, while its MVCC cache can be shared where appropriate. This makes the software suitable for both compact installations and systems handling substantial DNS traffic.
This is free and open source software.
Key Features
- Performs full recursive DNS resolution with caching.
- Validates DNSSEC responses using its built-in validator module.
- Supports DNS-over-TLS, DNS-over-HTTPS and DNS-over-QUIC.
- Provides a persistent cache designed to maintain a low memory footprint.
- Offers declarative configuration through YAML.
- Provides an HTTP API for dynamic resolver configuration.
- Supports strong filtering and policy rules.
- Can use etcd to assist with automatic configuration in larger deployments.
- Provides extensibility through LuaJIT modules.
- Includes strong DNS-over-TCP support with query pipelining and deduplication.
- Supports TCP Fast Open and response reordering.
- Automatically manages multiple resolver workers according to available resources.
Website: github.com/CZ-NIC/knot-resolver
Support:
Developer: CZ.NIC
License: GNU General Public License v3.0
Knot Resolver is mainly written in C, with LuaJIT and Python components. Learn C with our recommended free books and free tutorials.
Related Software
| DNS Servers | |
|---|---|
| BIND | Flexible, full-featured DNS system |
| PowerDNS | Authoritative server, the Recursor, and Dnsdist |
| Knot Resolver | Scalable caching resolver with DNSSEC validation and flexible policy |
| Technitium | Self host a DNS server for privacy and security |
| Unbound | Validating, recursive, caching DNS resolver |
| SDNS | Fast recursive DNS resolver with built-in DNSSEC validation |
| Hickory | Rust-based DNS client, server and resolver |
| rDNS | Compact DNS server supporting recursive and authoritative operation |
| MaraDNS | Small DNS server |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.