Ceci est une ancienne révision du document !
Le Dynamic Name System est un dispositif permettant de retrouver l'adresse IP (178.167.45.32) d'un serveur en connaissant son nom (server1.example.com).
Il existe les serveur de type Authoritative, c'est à dire qu'ils ont l'autorité pour répondre sur un domaine défini, et les serveurs Recursive dont le rôle est de retransmettre à d'autres serveurs les requêtes.
PowerDNS est une suite logicielle comprenant entre autres :
pdns-server
qui est un serveur authoritativepdns-recursor
qui est un serveur recursifpdnsutil
un utilitaire en cli pour configurer pdns-server
pdns-server
et pdns-recursor
peuvent fonctionner en même temps sur une même machine pour servir un domaine privé et adresser le grand internet.
Nous allons mettre en place une config pour un lan, avec des ressources locales (non-accessibles depuis internet), et en donnant un accès internet. Un peu comme expliqué ici.
Dispo dans les paquets debian apt install pdns-server
.
On édite le fichier de conf, étant donné la taille réduite, on va garder le système de base BIND.
vim /etc/powerdns/pdns.conf
# ne répondre qu'aux requêtes locales et sur un port custom : local-address=127.0.0.1 local-port=5300 # optimisation backend BIND : un seul thread suffit distributor-threads=1
On va maintenant ajouter des entrées dns correspondant à des ressources locales source:
# On commence par créer une zone dns, c'est à dire un espace pour lequel ce serveur aura autorité pdnsutil create-zone example.com # Ensuite, on ajoute les entrées une à une pdnsutil add-record example.com serveur1 A 192.168.1.2 # Pour vérifier ce qui est enregistré, on a 2 commandes : pdnsutil list-all-zones pdnsutil list-zone example.com
Les gens recommandent d'avoir un nom de domaine à soi, comme ça on est sur qu'il n'y a pas de conflit avec les recherches sur internet, notamment quand on est plus dans le LAN.\
Sinon, on peut utiliser .local
ou .lan
.\
Problème avec .local
, c'est utilisé par un autre système de résolution de noms sans serveur, mdns.
Pour valider toute la config, ne pas oublier de relancer le serveur systemctl restart pdns.service