Need help with knot?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

CZ-NIC
140 Stars 32 Forks GNU General Public License v3.0 16.5K Commits 1 Opened issues

Description

A mirrored repository

Services available

!
?

Need anything else?

Contributors list

# 297,238
Shell
C++
C
dns-res...
3089 commits
# 50,583
dns-res...
Lua
cloudfl...
SQL
2361 commits
# 97,130
C++
dnssec
Shell
curio
2157 commits
# 455,555
C
C++
Shell
dnssec
1863 commits
# 503,690
C
C++
Shell
dns-ove...
1002 commits
# 128,411
ocsp
rc4
Common ...
Babel
531 commits
# 128,822
C
Lua
ddns
curio
81 commits
# 23,075
nix
nixos
declara...
unix
62 commits
# 354,644
curio
dns-ove...
C
C++
58 commits
# 458,151
C
C++
Shell
dns-ove...
49 commits
# 775,489
C
C++
Shell
dnssec
20 commits
# 721,993
C
C++
Shell
dns-ove...
17 commits
# 355,602
C
C++
Shell
dnssec
15 commits
# 21,527
Shell
Objecti...
C#
protoco...
14 commits
# 68,860
C
specifi...
Perl
dns-res...
14 commits
# 195,257
Shell
C++
prometh...
fastcgi
8 commits
# 113,588
C++
C
ddns
curio
5 commits
# 792,694
C
C++
Shell
dnssec
4 commits
# 157,612
vala
macOS
Erlang
file-tr...
4 commits
# 107,610
Rust
Shell
webasse...
Perl
3 commits

Language grade: C/C++ Coverity Status Fuzzing Status Documentation 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-0-dev libprotobuf-c-dev protobuf-c-compiler libfstrm-dev libmaxminddb-dev libnghttp2-dev libmnl-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 libmnl-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:

bash
git clone https://gitlab.nic.cz/knot/knot-dns.git
Or extract source package to knot-dns directory.

Compile the source code:

bash
cd knot-dns
autoreconf -if
./configure
make

Install Knot DNS into system:

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

bash
cd /etc/knot
mv knot.sample.conf knot.conf
Modify the configuration file:
bash
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:

bash
knotd -c /etc/knot/knot.conf

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.