Knot DNS - DNS autoritaire haute performance
Find a file
Daniel Salzman 8bf5784202 docker
2025-07-29 18:30:55 +02:00
distro distro/deb: add explicit libdnssec9 for libknot15 2025-07-19 18:35:05 +02:00
doc doc: improve description of reverse-generate 2025-07-25 13:32:20 +02:00
m4 m4: relicense to GPL-2.0-or-later 2025-03-24 09:53:50 +01:00
python python3-libknot: improve README example 2025-05-23 13:31:50 +02:00
samples samples: relicense to GPL-2.0-or-later 2025-03-24 09:53:50 +01:00
scripts scripts: more robust update_ngtcp2.sh script 2025-05-26 17:56:17 +02:00
src Merge branch 'zone-reload-expired' into 'master' 2025-07-28 10:03:47 +02:00
tests Merge branch 'knotd-cert-ca' into 'master' 2025-06-23 18:19:04 +02:00
tests-extra Merge branch 'notify-delay-new' into 'master' 2025-07-16 20:51:02 +02:00
tests-fuzz tests-fuzz: relicense to GPL-2.0-or-later 2025-03-24 09:53:50 +01:00
.dir-locals.el added surmised C indentation rules for emacs users 2017-03-25 13:15:24 -05:00
.dockerignore docker: Transfer much less data for build 2021-02-09 14:21:46 +01:00
.gitattributes Add .gitattributes export-ignore 2011-11-02 14:58:23 +01:00
.gitignore gitignore: add qtcreator junk 2024-12-04 15:06:29 +01:00
.gitlab-ci.yml CI: add fedora-42 and alma-10 2025-05-22 18:17:50 +02:00
.gitmodules Update links to gitlab.nic.cz 2020-07-28 16:41:05 +02:00
autogen.sh add autogen.sh 2014-12-17 14:14:56 +01:00
configure.ac doc: fix man installation from a tarball 2024-09-04 16:32:39 +02:00
COPYING COPYING: change to LGPL-2.0 or later 2025-03-24 09:53:50 +01:00
Dockerfile docker 2025-07-29 18:30:55 +02:00
Doxyfile.in Doxyfile: upgrade to version 1.9.1 2024-04-10 09:37:50 +02:00
Knot.config Try to solve undetected defines from config.h in QTcreator 2017-08-22 09:06:53 +02:00
Knot.creator Added QtCreator project files 2011-02-28 11:19:59 +01:00
Knot.files refactoring: move ctlsocket-related and signal-related code from knotd/main.c 2025-04-14 18:07:52 +02:00
Knot.includes contrib: remove embedded libbpf 0.0.6, which no longer works with BTF and old kernels 2022-12-19 20:45:25 +01:00
Makefile.am Include README.md in distribution package 2020-05-25 12:29:19 +02:00
NEWS NEWS: add version 3.4.0 2024-09-01 19:22:34 +02:00
README.md README: add softhsm dependency for PKCS #11 unitttest 2024-11-14 07:59:09 +01:00

Coverity Status Fuzzing Status

Requirements

doc/requirements.rst

Installation

doc/installation.rst

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 automake make pkg-config liburcu-dev libgnutls28-dev libedit-dev liblmdb-dev

Install optional packages:

sudo apt-get install \
  libcap-ng-dev libsystemd-dev libidn2-dev libprotobuf-c-dev protobuf-c-compiler libfstrm-dev libmaxminddb-dev libnghttp2-dev libbpf-dev libxdp-dev libmnl-dev python3-sphinx python3-sphinx-panels softhsm2

Fedora like distributions

Update the system:

dnf upgrade

Install basic development tools:

dnf install @buildsys-build

Install prerequisites:

dnf install \
  libtool autoconf automake pkgconfig userspace-rcu-devel gnutls-devel libedit-devel lmdb-devel

Install optional packages:

dnf install \
  libcap-ng-devel systemd-devel libidn2-devel protobuf-c-devel fstrm-devel libmaxminddb-devel libnghttp2-devel libbpf-devel libxdp-devel libmnl-devel python-sphinx python-sphinx-panels softhsm

When compiling on RHEL based system, the Fedora EPEL repository has to be enabled.

2. Install Knot DNS

Get the source code:

git clone https://gitlab.nic.cz/knot/knot-dns.git

Or extract source package to knot-dns directory.

Compile the source code:

cd knot-dns
autoreconf -if
./configure
make

Install Knot DNS into system:

sudo make install
sudo ldconfig

Running

1. Ensure some configuration

doc/configuration.rst

Please see samples/knot.sample.conf, project documentation, or man 5 knot.conf for more details. Basically the configuration should specify:

  • network interfaces
  • served zones

E.g. use the default configuration file:

cd /etc/knot
mv knot.sample.conf knot.conf

Modify the configuration file:

editor knot.conf

2. Prepare working directory

mv example.com.zone /var/lib/knot/

3. Start the server

doc/operation.rst

This can be done by running the knotd command. Alternatively, your distribution should have an init script available, if you installed Knot DNS from a binary package.

Start the server in foreground to see if it runs:

knotd -c /etc/knot/knot.conf