Full caching DNS resolver implementation

The Knot Resolver is a caching full resolver implementation, including both a resolver library and a daemon.



Knot Resolver 3.2.0 released

Monday, December 17, 2018

New features

  • module edns_keepalive to implement server side of RFC 7828 (#408)
  • module nsid to implement server side of RFC 5001 (#289)
  • module bogus_log provides .frequent() table (!629, credit Ulrich …
Open source

Open source

Knot Re­solver is open-­source. It is com­plete­ly free to down­load and use. The source code is avail­able un­der GPL li­cense. Our de­vel­op­ment process is trans­par­ent and driv­en by the needs of com­mu­ni­ty and do­nat­ing user­s.



Mod­u­lar ar­chi­tec­ture of the li­brary keeps the core tiny and ef­fi­cien­t, and pro­vides a state-­ma­chine like API for ex­ten­sion­s. The Lua mod­ules, switch­able and share­able cache, and fast FFI bind­ings­makes it great to tap in­to res­o­lu­tion pro­cess, or be used for your­recur­sive DNS ser­vice. It's the Open­Resty of DNS.

High performance

High performance

The serv­er adopts a dif­fer­ent scal­ing strat­e­gy than the rest of the DNSre­cur­sors - no thread­ing, shared-noth­ing ar­chi­tec­ture (ex­cept MVCC ca­chethat may be shared). You can start and stop ad­di­tion­al nodes de­pend­ing on the con­tention with­out down­time.

Secure and stable

Secure and stable

The code is be­ing con­stant­ly checked by an ex­ten­sive test­ing suite to at­tain sta­bil­i­ty, as­sure in­ter­op­er­abil­i­ty with oth­er DNS im­ple­men­ta­tion­s, avoid per­for­mance re­gres­sion­s, and cir­cum­vent pos­si­ble se­cu­ri­ty-re­lat­ed prob­lem­s.


Knot Resolver is a caching full resolver implementation written in C and LuaJIT, both a resolver library and a daemon. The core architecture is tiny and efficient, and provides a foundation and a state-machine like API for extensions. There are three modules built-in - iterator, validator, cache, and a few more are loaded by default. Most of the rich features are written in Lua(JIT) and C. Batteries are included, but optional.

Build Status Coverage Status Coverity Documentation Status

Contact the developers

GitLab Issues

Join the chat at https://gitter.im/CZ-NIC/knot-resolver

Knot DNS

Knot DNS is a high­-per­for­mance au­thor­i­ta­tive-on­ly DNS serv­er which sup­ports all key fea­tures of the mod­ern do­main name sys­tem.