Knot DNS - DNS autoritaire haute performance
Find a file
2018-11-23 12:33:54 +01:00
doc doc: update links to proper Git repository 2018-07-27 10:40:00 +02:00
libtap contrib: move open_tmp_file from zonefile 2016-11-24 10:01:13 +01:00
m4 configure: add --disable-modules option 2018-02-10 23:20:20 +01:00
python Fix import 2018-10-22 11:04:15 +02:00
samples keymgr: removed completion 2017-05-04 16:14:15 +02:00
scripts Dockerfile: complete overhaul 2018-11-23 12:33:54 +01:00
src server: fix selective zone reload upon conf-commit 2018-09-14 13:02:08 +02:00
tests Revert "conf: warn if whole zonefile-load + automatic DNSSEC signing + ACL transfer" 2018-05-17 10:35:49 +02:00
tests-extra tests-extra: add sleep to ensure zone is flushed in zone/flush_immediate 2018-07-27 13:14:43 +02:00
tests-fuzz tests-fuzz: add check-compile support 2018-03-20 20:37:17 +01: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 Add better support for LLVM libFuzzer packet parser tests 2017-10-02 16:49:29 +02:00
.gitlab-ci.yml Build images in scheduled pipelines 2018-03-11 20:48:31 +01:00
.gitmodules Update submodules 2018-03-03 11:33:14 +01:00
.ycm_extra_conf.py Merge branch 'master' into 'events-refactor' 2017-01-16 15:04:07 +01:00
AUTHORS Update AUTHORS 2017-09-07 16:55:50 +02:00
autogen.sh add autogen.sh 2014-12-17 14:14:56 +01:00
ChangeLog First try at autotools 2011-02-25 15:26:15 +01:00
configure.ac Bump version 2.6.9, update NEWS 2018-08-14 15:16:37 +02:00
COPYING Add OpenSSL linking exception to the copyright file 2011-11-02 23:23:31 +01:00
coverity_model.c Add an empty Coverity modeling file as a base 2014-04-07 10:27:16 +02:00
Dockerfile Dockerfile: complete overhaul 2018-11-23 12:33:54 +01:00
Doxy.page.h doxyfile: fix main page from libdnssec to knot-dns, wiki page link, knot-dns version 2017-09-07 14:27:56 +02:00
Doxyfile doxyfile: fix main page from libdnssec to knot-dns, wiki page link, knot-dns version 2017-09-07 14:27: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 layer: make the interface static inline + remove automatic fail callback execution 2017-10-20 12:49:24 +02:00
Knot.includes keymgr: add config and confdb parameters 2016-06-27 10:56:59 +02:00
Makefile.am python: add Makefile to distribute the scripts 2016-12-29 15:52:21 +01:00
NEWS Bump version 2.6.9, update NEWS 2018-08-14 15:16:37 +02:00
README doc: update links to proper Git repository 2018-07-27 10:40:00 +02:00
THANKS Update AUTHORS, THANKS and remove unused KNOWN_ISSUES file 2017-06-15 10:37:10 +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 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 libidn11-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 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