dns
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
dns [2020/06/06 15:00] – luc | dns [2025/02/18 21:12] (Version actuelle) – [Ajouter les entrées dns des ressources locales : ''pdnsutil''] luc | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== DNS et PowerDNS ====== | ||
+ | [[https:// | ||
+ | |||
+ | ===== C'est quoi un DNS ? ===== | ||
+ | |||
+ | Le Dynamic Name System est un dispositif permettant de retrouver l' | ||
+ | |||
+ | Il existe les serveur de type Authoritative, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Et PowerDNS dans tout ça ? ===== | ||
+ | |||
+ | PowerDNS est une suite logicielle comprenant entre autres : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ===== Config mise en place ===== | ||
+ | |||
+ | 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é [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== Installation et configuration Authoritative server : '' | ||
+ | |||
+ | Dispo dans les paquets debian '' | ||
+ | |||
+ | On édite le fichier de conf, étant donné la taille réduite, on va utiliser le backend sqlite3 (parce que le BIND de base ne marche pas chez moi, pkoi ?) | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | # ne répondre qu'aux requêtes locales et sur un port custom : | ||
+ | local-address=127.0.0.1 | ||
+ | local-port=5300 | ||
+ | |||
+ | launch=gsqlite3 | ||
+ | gsqlite3-database=/ | ||
+ | </ | ||
+ | |||
+ | Ensuite, on initialise la database : | ||
+ | <code bash> | ||
+ | sqlite3 / | ||
+ | </ | ||
+ | |||
+ | >> NOTE : sur certaines machines, par exemple Alpine Linux, il convient que le dossier contenant la bdd sqlite soit accessible en écriture par le uid du serveur pdns. En conséquence, | ||
+ | ==== Ajouter les entrées dns des ressources locales : '' | ||
+ | |||
+ | On va maintenant ajouter des entrées dns correspondant à des ressources locales [[https:// | ||
+ | |||
+ | <code bash> | ||
+ | # 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. | ||
+ | # exemple, ajouter serveur1.example.com | ||
+ | pdnsutil add-record example.com serveur1 A 192.168.1.2 | ||
+ | |||
+ | # Pour vérifier ce qui est enregistré, | ||
+ | pdnsutil list-all-zones | ||
+ | pdnsutil list-zone example.com | ||
+ | |||
+ | # pour supprimer une entée : delete-rrset | ||
+ | pdnsutil delete-rrset example.com subdomain A | ||
+ | |||
+ | </ | ||
+ | |||
+ | Les gens recommandent d' | ||
+ | Sinon, on peut utiliser '' | ||
+ | Problème avec '' | ||
+ | |||
+ | Pour valider toute la config, ne pas oublier de relancer le serveur '' | ||
+ | |||
+ | ==== Installer et configurer le serveur recursif : '' | ||
+ | |||
+ | Ce sera lui en interface principale, il utilisera donc le port dédié 53.\\ | ||
+ | Sur la même machine, installer le paquet '' | ||
+ | Editer le fichier de conf '' | ||
+ | |||
+ | < | ||
+ | # pour autoriser tout le monde à faire des requêtes (je sais, c'est pas secure mais on est dans un LAN inaccessible depuis l' | ||
+ | local-address=0.0.0.0 | ||
+ | local-port=53 | ||
+ | |||
+ | # rediriger vers notre serveur Authoritative pour nos ressources locales, il faut renseigner l' | ||
+ | forward-zones=example.com=127.0.0.1: | ||
+ | |||
+ | # rediriger toutes les autres requetes vers un autre serveur recursif (la box par exemple) | ||
+ | forward-zones-recurse=.=192.168.0.1 | ||
+ | </ | ||
+ | |||
+ | Ne pas oublier de redémarrer le service pour prendre en compte la config '' | ||
+ | |||
+ | Et voilà =) | ||
+ | |||
+ | ==== Config des clients ==== | ||
+ | |||
+ | Il y a 2 choses à configurer : | ||
+ | * le serveur DNS : diriger vers cette machine | ||
+ | * la gateway : renseigner l'ip du routeur/box |