Skip to content

Documentation DNS

MagnesSimon edited this page May 28, 2021 · 8 revisions

Arborescence

tree-dns

Organisation des configurations

Les fichiers de configuration du service DNS se situe dans le répertoire /etc

  • Le fichier named.conf est le fichier de configuration principal du serveur DNS. Il nous permet d'ajouter les autres fichier de configuration ci-dessous à la configuration principale.

  • Le fichier named.conf.local contient la configuration locale du serveur DNS. Ici, cela nous permettent de définir d'une part, une access-list et d'autre part de l'accessibilité aux réseaux interne et externe ainsi que les zones associée au domaine.

  • Le fichier named.conf.option contient l'ensemble des options de configuration du serveur DNS. Il nous permet ici de définir des Forwarders à qui le serveur DNS va transmettre les requêtes qu'il ne sait pas résoudre.

  • Le fichier named.conf.default-zones contient les zones par défaut du serveur DNS.

  • Le fichier db.wt1-5.ephec-ti.be est un enregistrement ou Ressource Record consacré à la résolution de noms pour les services publiques.

  • Le fichier db.internal.wt1-5.ephec-ti.be est un Ressource Record consacré à la résolution de nom dédié pour le service web interne.


Maintenance

Procédure pour lancer le serveur

Il faut définir un Dockerfile dans lequel on installe un serveur DNS bind9 et on ajoute nos fichiers de configuration.

Pour construire le container:
docker build -t nomImage:latest ./Chemin/Dockerfile/ ou Docker build -t nomImage:latest https://url/du/docker/surDockerHub

Pour lancer le container:
docker run -idt --name nomContainer --net=host nomImage:latest

Pour arrêter le container:
docker stop nomContainer

Pour supprimer le container:
docker container rm nomContainer

Procédure pour modifier les configurations DNS

Il faut d'abord arrêter le container Docker et le supprimer.
docker stop nomContainer
docker container rm nomContainer

On modifie ensuite les configurations voulues dans les fichiers de configuration.
Il faut reconstruire l'image.
docker build -t nomImage:latest ./Chemin/Dockerfile/

Et ensuite lancer un container. docker run -idt --name nomContainer --net=host nomImage:latest sudo docker run -idt --name dnsint -p 5353:5353 srvdnsint:latest


Ajout, suppression, modification

  1. Pour un serveur.
    Dans le fichier de zone db.l1-5.ephec-ti.be, ajouter, supprimer, modifier une ligne selon ce modèle:
    [NOM SERVEUR] IN [Type de RR] [IP]
    ex: www IN A 51.210.44.117

  2. Pour une zone.
    Dans le fichier named.conf.local, ajouter, supprimer ou modifier une zone selon ce modèle:
    zone "nom.de.la.zone" {
    type "type";
    file "chemin/fichier/de/zone;
    }

Mise à jour

service bind stop
apt update
apt-get upgrade bind
service bind start

Troubleshooting

Test

Afin de vérifier et tester la configuration, on peux effectuer la commande:
dig@172.17.0.1 www.tl1-5.ephec-ti.be

Si la réponse à cette commande contient au moins les informations suivantes, la configuration est correcte:

  • ANSWER SECTION qui contient le bon nom de domaine
  • AUTHORITY SECTION qui donne le NS que l'on a configurer

Logs

Pour obtenir les logs du service DNS, plusieurs solutions existe

  • La commande sudo docker logs NomduContainer permet d'avoir un apercu des erreur au lancement du container
  • Le fichier var/lib/bind/bind.log contient tous les logs
  • Le fichier var/log/syslog contient un résumé de tout les messages
  • Le fichier var/log/faillog informe sur les échecs de connexion

Erreurs fréquentes

  • Fautes de frappes ou d'inattention.
  • Dans le fichier de zone: oublier le "." a la fin de l1-5.ephec-ti.be.
  • Mauvaise configuration de l'option allow-query et listen-on.
  • Dans le dockerfile, copie des fichiers de configuration aux mauvais endroit.

Clone this wiki locally