Outils pour utilisateurs

Outils du site


admin:services:dns:knot

Ceci est une ancienne révision du document !


Knot DNS est un serveur DNS permettant de servir des zones (comme maître ou esclave).

Installation

On l'installe simplement via apt :

apt install knot/jessie-backports knot-dnsutils/jessie-backports bind9utils

(Le paquet bind9utils permet de disposer de la commande named-checkzone pour vérifier un fichier de zone avant utilisation.)

Si la machine dispose également d'un serveur DNS récursif en écoute sur le port 53, il faut limiter Knot aux interfaces publique, en éditant /etc/knot/knot.conf. On utilise également un utilisateur avec des droits limités… Ainsi, pour dodecagon, on a :

/etc/knot/knot.conf
server:
    listen: 62.210.81.204@53
    listen: 2001:bc8:273e::@53
    user: knot:knot
    version: ""
    identity: ""

Administration

Création d'une zone

On édite le fichier de configuration de Knot pour avoir le contenu suivant :

/etc/knot/knot.conf
remote:
  - id: quigon
    address: 160.228.155.65@53
  - id: ns2.afraid.org
    address: 208.43.71.243@53
  - id: nssec.online.net
    address: 62.210.16.8@53

acl:
  - id: acl_slaves
    address: 160.228.155.65 # quigon
    address: 208.43.71.243  # ns2.afraid.org
    action: transfer

zone:
#  dnssec-enable: on;
#  dnssec-keydir: "/etc/knot/keys";
#  semantic-checks: on;

  - domain: federez.net
    file: /etc/knot/zones/db.federez.net
    notify: quigon
    acl: acl_slaves

…

DNSSEC sera a étudier, ce qui suit étant à modifier.

Si l'on ne veut pas que la zone soit signée avec DNSSEC, on ajoute à la zone la directive : dnssec-enable: off;, et on adapte le nom du fichier.

Sinon, il faut, au besoin, générer les clefs DNSSEC dans /etc/knot/keys.
Pour cela :

cd /etc/knot/keys
dnssec-keygen -a ECDSAP384SHA384 -b 4096 -n ZONE federez.net
dnssec-keygen -f KSK -a ECDSAP384SHA384 -b 4096 -n ZONE federez.net

(À noter, les tailles des clefs sont peut-être un peu longues, la taille a été choisi sans recherches poussées.)
Enfin, il faut ajouter les clefs dans l'interface d'admin du registrar de la zone. Pour avoir les informations à donner, on pourra récupérer les clefs (après avoir rechargé la configuration de Knot) en local sur le serveur avec :

dig +cd +multi federez.net dnskey

À noter, en cas de signature avec DNSSEC, il faut que le fichier de zone (en .signed) soit éditable par knot.

On place enfin le contenu de la zone dans /etc/knot/zones/federez.net et on le copie dans /etc/knot/zones/federez.net.signed

Modification d'une zone

On édite le fichier non-signé, par exemple /etc/knot/zones/federez.net.

On vérifie que l'on a bien mis à jour le serial (la première valeur numérique de l'enregistrement SOA, qui doit être de la forme AAAAMMJJXX et croissant à chaque modification).

Pour s'assurer que ce soit bien le cas, faire un backup de la configuration actuelle et vérifier la zone avant de la recharger dans knot, il suffit de lancer le script /etc/knot/zones/update_zone.sh avec en argument la zone, par exemple :

/etc/knot/zones/update_zone.sh federez.net

On peut vérifier que la zone est bien gérée par knot :

knotc zone-status federez.net
knotc status

Si l'on ne veut pas utiliser le script, on peut lancer :

cat /etc/knot/zones/db.federez.net >| /etc/knot/zones/db.federez.net.signed
knotc zone-check federez.net
knotc zone-reload federez.net
admin/services/dns/knot.1510531675.txt.gz · Dernière modification : 2017/11/13 01:07 de david.sinquin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki