Code Monkey home page Code Monkey logo

knot's Introduction

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-dev libprotobuf-c-dev protobuf-c-compiler libfstrm-dev libmaxminddb-dev libnghttp2-dev libbpf-dev libxdp-dev libmnl-dev python3-sphinx python3-sphinx-panels

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

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.