Knot DNS - DNS autoritaire haute performance
Find a file
Jan Hak d382b611c9 kqueue: polling packets using kqueue (for BSD)
Signed-off-by: Jan Hak <jan.hak@nic.cz>
2021-01-29 10:15:40 +01:00
distro distro/deb: don't explictly link agains libjemalloc 2020-11-30 15:08:40 +01:00
doc conf: difference-no-serial requires zone-in-journal 2020-11-30 19:46:25 +01:00
m4 configure: don't automatically disable fastparser with Clang compiler 2020-09-14 16:45:35 +02:00
python python: allow calling from other directories 2020-08-07 21:37:06 +02:00
samples conf: move *-db* items from 'template' to new 'database' section 2019-09-20 19:55:04 +02:00
scripts scripts: improve update-project-files.py 2020-08-06 20:54:16 +02:00
src kqueue: polling packets using kqueue (for BSD) 2021-01-29 10:15:40 +01:00
tests conf: difference-no-serial requires zone-in-journal 2020-11-30 19:46:25 +01:00
tests-extra load: proper check of zone-in-journal non-existence before storing it 2020-11-26 10:00:46 +01:00
tests-fuzz stats: add protocol counters for XDP 2020-04-21 18:43:10 +02:00
.dir-locals.el added surmised C indentation rules for emacs users 2017-03-25 13:15:24 -05:00
.gitattributes Add .gitattributes export-ignore 2011-11-02 14:58:23 +01:00
.gitignore kzonesign: move from sbin to bin 2020-08-06 20:54:16 +02:00
.gitlab-ci.yml distro/tests: update distributions 2020-10-30 17:14:14 +01: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 configure: improve detection of ECDSA reproducible signing support 2020-09-17 12:29:25 +02:00
COPYING COPYING: remove obsolete OpenSSL exception as we no longer use OpenSSL 2019-09-30 21:48:46 +02:00
Dockerfile Dockerfile: add libnghttp2 2020-07-20 10:03:47 +02:00
Doxyfile.in doxygen: don't use logo as it's too big anyway 2019-10-06 19:23:56 +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 implemented zone data backup 2020-08-25 21:52:29 +02:00
Knot.includes zscanner: move to libzscanner 2018-03-12 13:37:09 +01:00
Makefile.am Include README.md in distribution package 2020-05-25 12:29:19 +02:00
NEWS NEWS: update bugfixes 2020-09-08 15:24:43 +02:00
README.md README.md: make links to docs interactive 2020-09-10 13:18:19 +02:00

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-0-dev protobuf-c-compiler libfstrm-dev libmaxminddb-dev libnghttp2-dev

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

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 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