Public | Automated Build

Last pushed: a day ago
Short Description
High-performance authoritative-only DNS server from CZ.NIC
Full Description





1) Install prerequisites

Debian based distributions

Update the system:
$ sudo apt-get update
$ sudo apt-get upgrade

Install prerequisites:
$ sudo apt-get install \
libtool autoconf make pkg-config liburcu-dev libgnutls28-dev libedit-dev

Install optional packages to override embedded libraries:
$ sudo apt-get install liblmdb-dev

Install optional packages:
$ sudo apt-get install libcap-ng-dev libsystemd-dev libidn2-0-dev protobuf-c-compiler libfstrm-dev

Fedora like distributions

Update the system:

dnf upgrade

Install basic development tools:

dnf install @buildsys-build

Install prerequisites:

dnf install \

libtool autoconf pkgconfig automake userspace-rcu-devel gnutls-devel libedit-devel

Install optional packages to override embedded libraries:

dnf install lmdb-devel

Install optional packages:

dnf install libcap-ng-devel systemd-devel libidn-devel protobuf-c-devel fstrm-devel

When compiling on RHEL based system, the Fedora EPEL repository has to be
enabled. Also for RHEL 6, forward compatibility package gnutls30-devel
with newer GnuTLS is required instead of gnutls-devel.

2) Install Knot DNS

Get the source code:
$ git clone git://
Or extract source package to knot-dns directory

Compile Knot
$ cd knot-dns
$ autoreconf -if
$ ./configure
$ make

Install Knot DNS into system:
$ sudo make install
$ sudo ldconfig



1) Each server needs configuration file. Please see samples/knot.sample.conf,
project documentation, or man 5 knot.conf for more details.
Configuration file has to specify:

  • storage for PID files, journal and timer databases etc.
  • network interfaces
  • served zones

E.g. use the default config file:
$ cd /etc/knot
$ mv knot.sample.conf knot.conf
Modify the config:
$ editor knot.conf

2) Prepare working directory
$ mv /var/lib/knot/

3) Start the server. This can be done by running the 'knotd' command.
Alternatively, your distribution should have an init script available, if you've
installed Knot using a binary package.

Start Knot in the foreground to see if it runs:
$ knotd -c myserver.conf

Docker Pull Command
Source Repository