Full caching DNS resolver implementation

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

Download

Releases

Knot Resolver 3.2.1 released

Thursday, January 10, 2019

Bugfixes

  • trust_anchors: respect validity time range during TA bootstrap (!748)
  • fix TLS rehandshake handling (!739)
  • make TLS_FORWARD compatible with GnuTLS 3.3 (!741)
  • special thanks to Grigorii Demidov for his …
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.

Feature-packed

Feature-packed

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.

About

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.