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.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.