Connexion à un knot local
Knot est un serveur DNS faisant autorité développé par l’association cz.nic.
Il est possible de l’utiliser avec happyDomain en passant par le Dynamic DNS (RFC 2136).
Configurer Knot pour permettre le Dynamic DNS
Tout d’abord, il faut éditer le fichier de configuration principal de knot (généralement /etc/knot/knot.conf
) afin d’ajouter un secret qui sera partagé entre happyDomain et knot pour authentifier les modifications. Puis il faudra indiquer quels domaines vont être gérés par happyDomain.
Ajout d’un secret partagé
Sous la section principale key
de votre configuration, ajoutez la clef suivante :
key:
[...]
- id: happydomain
algorithm: hmac-sha512
secret: "<SOME_SECRET>"
Remplacez évidemment <SOME_SECRET>
par une chaîne de caractères telle qu’obtenue avec openssl rand -base64 48
.
Création d’une autorisation pour happyDomain
En plus de la clef, vous devez préciser dans la configuration comment la clef peut être utilisée.
Pour cela, sous la section principale acl
, on ajoute :
acl:
[...]
- id: acl_happydomain
key: happydomain
action: transfer
action: update
Cela associe la key
définie juste avant aux actions transfer
et update
, respectivement pour permettre de récupérer la zone et pour mettre à jour des enregistrements.
Associer l’autorisation à chaque zone
Maintenant que vous avez créé une règle autorisant la clef happydomain
à apporter des modifications, il faut indiquer à quelles zones cette règle s’applique.
Pour chaque zone, il faut ajouter un élément acl
référençant la règle acl_happydomain
:
Par exemple, pour une zone happydomain.org
déjà existante, on ajoutera la ligne acl
comme suit :
zone:
[...]
- domain: happydomain.org
acl:
- acl_happydomain
[...]
L’élément acl
est une liste, vous pouvez donc avoir déjà d’autres éléments acl
dans cette liste. Il convient alors d’ajouter simplement l’élément acl_happydomain
à la liste déjà existante.
Il faut ajouter cet élément acl
pour chaque zone, sauf à utiliser l’astuce suivante.
Associer l’autorisation à toutes les zones
Si vous gérez de nombreuses zones, il peut être plus pratique de définir l’autorisation par défaut pour toutes les zones. Dans ce cas, à la place de la section précédente, on modifiera le modèle default
:
template:
- id: default
acl:
- acl_happydomain
[...]
Le modèle default
est appliqué par défaut à toutes les zones. En faisant ainsi, toutes les zones hériteront de la règle acl_happydomain
.
Appliquer la configuration
Maintenant que le fichier de configuration a été modifié, indiquez à knotd
qu’il doit recharger sa configuration :
knotc reload
Liaison entre happyDomain et knot
Une fois knot
bien configuré, vous pouvez le relier à happyDomain en utilisant le connecteur Dynamic DNS :
Remplissez ensuite le formulaire avec l’adresse à laquelle votre serveur knot
est accessible, puis ensuite les différents champs Key avec les informations de la section key
de knot
:
- Key Name : correspond au champ
id
; - Key Algorithm : correspond au champ
algorithm
; - Secret Key : correspond au champ
secret
.
Une fois le fournisseur ajouté, il ne permet pas de lister les domaines existants, mais vous pouvez tout de même ajouter manuellement tous vos domaines.