Full caching DNS resolver implementation

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



Knot Resolver 4.1.0 released

Wednesday, July 10, 2019


  • fix CVE-2019-10190: do not pass bogus negative answer to client (!827)
  • fix CVE-2019-10191: do not cache negative answer with forged QNAME+QTYPE (!839)


  • new cache garbage collector is …
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 re­cur­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 DNS re­cur­sors - no thread­ing, shared-noth­ing ar­chi­tec­ture (ex­cept MVCC cache that 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.

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.