Skip to content

Documentation du service DNS

vbrichant edited this page May 10, 2022 · 14 revisions

Organisation des configurations

Les fichiers de configuration du service DNS se trouvent ici.

Ils ont organisés de la manière suivante :

  • Le Dockerfile qui contient les paramètres et instructions à réaliser lors du 'run' du container
  • Un dossier config rassemblant tous les fichiers de configuration de bind9 en SOA
    • le fichier named.conf
    • le fichier named.conf.local contenant la/les zone(s) à utiliser ainsi que la configuration des logs
    • le fichier named.conf.options contenant la paramétrisation du service SOA
    • le fichier l1-4.ephec-ti.be qui est le fichier de zone

Mise en place du service

  • Vérifier si un container utilisant déja le nom de bind9 existe (docker ps -a)
    • Si oui : utiliser les commandes "docker stop bind9" et "docker rm bind9"
  • Lancer le build de l'image via la commande : "docker build -t bind9 ." (Depuis le répertoire /home/vincent/docker/bind et le point de la fin spécifie d'utiliser le Dockerfile présent dans le répertoire)
  • Lancer l'exécution du container via la commande : "docker run --name=bind9 -d -p 53:53/udp 53:53/tcp 127.0.0.1:953:953/tcp bind9"
  • Renter dans le container via la commande : docker container exec -it bind9 bin/bash/

Maintenance

Procédure pour mettre à jour le(s) logiciel(s) serveur

Etant donné que docker utilise la dernière version de bind9 lors du build:

  • stopper le container: docker stop bind9
  • supprimer le container : docker rm bind9
  • supprimer l'image : docker image rm bind9
  • rebuild et relancer le container (suivre les instruction de la mise en place du serveur)

Si on veux mettre a jour bind9 depuis l'intérieur du container on utilisera la commande : apt-get upgrade bind9

Procédure en cas d'ajout d'une nouvelle zone

  • Editer le fichier named.conf.local (dans l'hôte) pour y ajouter une nouvelle déclaration de zone en y respectant la notations déjà utilisée pour les zones précédentes
  • modifier le Dockerfile pour que docker ajoute le nouveau fichier de zone lors du build du container
  • Rebuild et relancer le container

Procédure en cas d'ajout d'un nouveau service dans le fichier de zone

  • Editer le fichier l1-4.ephec-ti.be (dans l'hôte) pour y ajouter un nouveau RR dans la section adéquate (en respectant la syntaxe: <nom_du_service> IN <type_de_RR> <adresse_IP>)
  • Rebuild et relancer le container

Troubleshooting

Procédures et collecte d'information

En cas de dysfonctionnement, voici les éléments à observer pour trouver des informations de debug :

  • Pour vérifier les logs du container docker il faut utiliser la commande suivante : docker logs <nom_du_container> (ici bind9)
  • Pour vérifier les logs de bind (dans le container) ils se trouvent a l'emplacemennt : /var/log/named/named.log
  • Pour vérifier la syntaxe du fichier de zone (dans le container): named-checkzone l1-4.ephec-ti.be /etc/bind/l1-4.ephec-ti.be
  • Pour vérifier la syntaxe d'un fichier de configuration (dans le container): named-checkconf /etc/bind/<nom_du_ficher> (pas de retours = OK)

Procédures de test :

  • Procédure de test 1 : Taper la commande "dig l1-4.ephec-ti.be" pour tester la joignabilité du service.
    • Pas de retour : Le problème peut venir de la configuration du container ou bien de la configuration de bind9
    • NS trouvé mais sans IP : Le problème est une erreur dans le fichier zone
  • Procédure de test 2 : Taper la commande "nslookup l1-4.ephec-ti.be"

Erreurs fréquentes

  • Il faut libérer le port 53 du VPS en décommentant la ligne "DNSStubListener=no" dans etc/systemd/resolved.conf
  • Vérifier que le container écoute bien le port 53
  • Vérifier la syntaxe des fichiers de zones et de configurations
  • Vérifier la directory spécifiée dans named.conf.options

Clone this wiki locally