Knot DNS - DNS autoritaire haute performance
Find a file
2019-10-07 19:58:19 +02:00
distro distro/rpm: update patch for test_net 2019-10-07 16:14:36 +02:00
doc conf: disable tcp-reuseport by default 2019-10-06 12:22:08 +02:00
m4 configure: allow extended version suppression via KNOT_VERSION_FORMAT=release 2019-03-12 13:37:56 +01:00
python Add 'soname' variable to pkg-config files 2019-01-23 09:05:05 +01:00
samples conf: move *-db* items from 'template' to new 'database' section 2019-09-20 19:55:04 +02:00
scripts knot: add ds-push event to zone timers 2019-09-05 09:00:00 +02:00
src knotd: pre-set version to 2.9.0 for benchmarking results 2019-10-07 19:58:19 +02:00
tests tests: mute some Coverity warnings 2019-10-06 11:11:01 +02:00
tests-extra tests-extra: move tcp-reuseport to basic/nsec(3) 2019-10-07 15:38:13 +02:00
tests-fuzz Use knot_dname_storage_t where suitable 2019-09-12 14:11:52 +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 Exclude some Qt Creator config files (ver 4.9 and up) from git 2019-07-04 10:24:20 +02:00
.gitlab-ci.yml gitlab-ci: update libknot version 2019-10-02 11:50:40 +02:00
.gitmodules tests-fuzz: update and rename submodules 2018-03-02 09:37:06 +01:00
autogen.sh add autogen.sh 2014-12-17 14:14:56 +01:00
configure.ac contrib: multiplatform spinlocks 2019-10-04 19:01:17 +02:00
COPYING COPYING: remove obsolete OpenSSL exception as we no longer use OpenSSL 2019-09-30 21:48:46 +02:00
Dockerfile Dockerfile: update dependencies for new Debian 2019-07-17 17:11:44 +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 contrib: multiplatform spinlocks 2019-10-04 19:01:17 +02:00
Knot.includes zscanner: move to libzscanner 2018-03-12 13:37:09 +01:00
Makefile.am configure: add the distro directory to dist tarball 2018-08-06 14:07:27 +02:00
NEWS NEWS: add version 2.8.0 2019-03-05 14:39:29 +01:00
README README: switch to libidn2 for Fedora 2018-11-20 15:38:58 +01: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 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 libmaxminddb-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 libidn2-devel protobuf-c-devel fstrm-devel libmaxminddb-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.labs.nic.cz/knot/knot-dns.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

Running
=======

./doc/operation.rst

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 example.com.zone /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