Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
pdns [Le 28/01/2010, 08:36] stephaneguedon créée |
pdns [Le 31/08/2022, 23:32] (Version actuelle) moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Gutsy Jaunty Karmic serveur réseau BROUILLON}} | + | {{tag>Xenial serveur réseau dns}} |
---- | ---- | ||
Ligne 7: | Ligne 7: | ||
Cet article a pour but de vous présenter comment installer et configurer un serveur DNS en utilisant l'application **powerDNS**. | Cet article a pour but de vous présenter comment installer et configurer un serveur DNS en utilisant l'application **powerDNS**. | ||
- | ===== Introduction ====== | + | PowerDNS est un serveur de nom qui peut utiliser de nombreux //backends// comme stockage des informations de noms : base de données ([[:mysql]] ou [[:postgresql]]), LDAP, fichiers de bind. |
- | + | ||
- | PowerDNS est un serveur de nom qui peut utiliser de nombreux //backends// comme stockage des informations de noms : base de données ([[mysql]] ou [[postgresql]]), LDAP, fichiers de bind. | + | |
Si vous utilisez des bases de données, il y a plusieurs avantages très importants : | Si vous utilisez des bases de données, il y a plusieurs avantages très importants : | ||
Ligne 18: | Ligne 16: | ||
<note tip>L'auteur a par exemple logé tous ses serveurs logiciels dans /home : apache, mysql, serveur de courriel dont les boîtes aux lettres sont dans le répertoire de chaque utilisateur...</note> | <note tip>L'auteur a par exemple logé tous ses serveurs logiciels dans /home : apache, mysql, serveur de courriel dont les boîtes aux lettres sont dans le répertoire de chaque utilisateur...</note> | ||
- | ===== Prérequis ===== | + | ===== Pré-requis ===== |
- | * Vous devez maitriser les bases de TCP/IP. | + | * Vous devez maîtriser les bases de TCP/IP. |
- | * Vous devez avoir une connexion internet (ou intranet si vous voulez juste adresser votre [[http://fr.wikipedia.org/wiki/Réseau_local|lan]] sans connexion au reste du monde). | + | * Vous devez avoir une connexion internet (ou intranet si vous voulez juste adresser votre [[wpfr>Réseau_local|lan]] sans connexion au reste du monde). |
- | ===== Installation de PowerDNS ===== | + | ===== Installation ===== |
- | Pour installer //PowerDNS// sur Ubuntu, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt://pdns,pdns-recursor]]** | + | Pour installer //PowerDNS// sur Ubuntu, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] **[[apt>pdns-server,pdns-recursor]]**. |
- | ===== Configuration de PowerDNS ===== | + | ===== Configuration ===== |
Considérons les aspects suivants : | Considérons les aspects suivants : | ||
Ligne 43: | Ligne 41: | ||
Le serveur comporte deux parties distinctes, le serveur de noms lui-même et le recurseur. Ces deux services sont séparés dans le système. Chacun a un démon. Lorsque vous contactez le serveur, celui-ci interroge le recurseur via une connection reseau sur une adresse localhost (ou autre à la limite !) et un port logiciel s'il ne peut trouver les informations dans ses backends. | Le serveur comporte deux parties distinctes, le serveur de noms lui-même et le recurseur. Ces deux services sont séparés dans le système. Chacun a un démon. Lorsque vous contactez le serveur, celui-ci interroge le recurseur via une connection reseau sur une adresse localhost (ou autre à la limite !) et un port logiciel s'il ne peut trouver les informations dans ses backends. | ||
- | La syntaxe des données dans les backends est la même, à peu près, que pour Bind. | + | La syntaxe des données dans les backends est la même, que pour Bind. |
=== Le fichier de configuration générale === | === Le fichier de configuration générale === | ||
- | La configuration principale de PowerDNS se fait dans le fichier ''/etc/powerdns/pdns.conf''. Dans ce fichier, vous indiquerez les backends utilisés, l'adresse et le port pour contacter le recurseur... | + | La configuration principale de PowerDNS se fait dans le fichier ''/etc/powerdns/pdns.conf''. Dans ce fichier, vous indiquerez les backends utilisés, l'adresse et le port pour contacter le recurseur. |
+ | |||
+ | <file /etc/powerdns/pdns.conf> | ||
+ | allow-axfr-ips=217.70.177.40 | ||
+ | allow-recursion=127.0.0.1 | ||
+ | disable-axfr=no | ||
+ | cache-ttl=300 | ||
+ | launch=gmysql | ||
+ | logging-facility=0 | ||
+ | out-of-zone-additional-processing=yes | ||
+ | query-cache-ttl=300 | ||
+ | recursive-cache-ttl=150 | ||
+ | recursor=127.0.0.1:54 | ||
+ | </file> | ||
+ | |||
+ | Ces paramètres sont à adapter suivant votre cas. | ||
=== Le recurseur === | === Le recurseur === | ||
- | Vous devez indiquer... | + | <file> |
+ | allow-from=127.0.0.1 | ||
+ | local-address=127.0.0.1 | ||
+ | local-port=54 | ||
+ | logging-facility=1 | ||
+ | </file> | ||
=== Les backends === | === Les backends === | ||
Ligne 57: | Ligne 75: | ||
== Mysql == | == Mysql == | ||
- | Si vous utilisez mysql, vous devez avoir un serveur [[mysql]] fonctionnel et ajouter les paramètres dans ''/etc/powerdns/pdns.conf'' : | + | Si vous utilisez mysql, vous devez avoir un serveur [[:mysql]] fonctionnel et ajouter les paramètres dans ''/etc/powerdns/pdns.conf'' : |
<file> | <file> | ||
Ligne 69: | Ligne 87: | ||
Adaptez vos paramètres à ceux de votre base de données. | Adaptez vos paramètres à ceux de votre base de données. | ||
- | <note warning>Il est vital que la base de données soit accessible ! Si vous utilisez un autre hôte que localhost dans **gmysql-host**, votre serveur PowerDNS devra pouvoir contacter ce serveur mysql, donc avoir une connection réseau stable et une adresse (qui ne doit donc pas venir d'un serveur de nom !). Vous pouvez mettre ce nom dans ''/etc/hosts''. Ceci est toutefois risqué car il dépend de la stabilité du (des) réseaux traversés.</note> | + | <note warning>Il est vital que la base de données soit accessible ! Si vous utilisez un autre hôte que localhost dans **gmysql-host**, votre serveur PowerDNS devra pouvoir contacter ce serveur mysql, donc avoir une connexion réseau stable et une adresse (qui ne doit donc pas venir d'un serveur de nom !). Vous pouvez mettre ce nom dans ''/etc/hosts''. Ceci est toutefois risqué car il dépend de la stabilité du (des) réseaux traversés.</note> |
== Ldap == | == Ldap == | ||
+ | FIXME | ||
== Postgresql == | == Postgresql == | ||
+ | FIXME | ||
=== Interfaces web === | === Interfaces web === | ||
Il existe de nombreuses interfaces web pour PowerDNS : | Il existe de nombreuses interfaces web pour PowerDNS : | ||
- | [[PDNSadmin|http://pdnsadmin.iguanadons.net/]] | + | [[http://pdnsadmin.iguanadons.net/|PDNSadmin]] |
Une liste non-exhaustive est disponible ici : | Une liste non-exhaustive est disponible ici : | ||
[[http://www.the-scream.co.uk/forums/t27204.html]] | [[http://www.the-scream.co.uk/forums/t27204.html]] | ||
+ | |||
+ | <note important>Si vous installez une interface web, il peut être important de restreindre l'accès de cette interface. En effet, le serveur de nom de domaine est la clé de voute de tout réseau informatique organisé ! Toute personne qui pénétrerait sur cette interface pourrait gravement compromettre le fonctionnement de votre réseau. | ||
+ | |||
+ | Vous pouvez mettre en place une restriction d'accès par un fichier .htaccess, ou directement dans la configuration du serveur web. Pour info, sur [[Apache2]], vous pouvez mettre : | ||
+ | |||
+ | <file> | ||
+ | |||
+ | <Directory /pdnsadmin> | ||
+ | Order allow,deny | ||
+ | Deny from all | ||
+ | Allow from 192.168.0.0/24 | ||
+ | Allow from .*22decembre\.eu.* | ||
+ | Allow from 2a01:e35C:8ABB:5A00::/64 | ||
+ | </Directory> | ||
+ | |||
+ | </file> | ||
+ | |||
+ | Ici, 192.168.0.0/24 pour indiquer mon réseau interne, 2a01:e35C:8ABB:5A00::/64 est ma racine ipv6, et 22decembre.eu mon nom de domaine. Ainsi, seuls ceux qui sont **//dans mon réseau//**, ou que j'ai **//volontairement//** inclus dans mon domaine peuvent intervenir sur mon serveur de noms, //en plus// du mot de passe de l'interface graphique elle-même ! (Un mot de passe se craque, deux sécurités valent mieux qu'une !) | ||
+ | </note> | ||
=== Enregistrements === | === Enregistrements === | ||
Ligne 130: | Ligne 167: | ||
==== Erreurs possibles ==== | ==== Erreurs possibles ==== | ||
+ | FIXME | ||
===== Configuration des clients ===== | ===== Configuration des clients ===== | ||
Ligne 175: | Ligne 212: | ||
==== Configuration des clients Windows ==== | ==== Configuration des clients Windows ==== | ||
Sans entrer dans les détails (ce n'est pas le but du site), il vous suffit d'introduire l'adresse IP de vos serveurs DNS primaire et secondaire dans les propriétés du protocole TCP/IP (accessible dans les connexions réseaux du panneau de configuration). Rajouter le suffixe DNS correspondant à votre domaine dans les propriétés réseaux de votre carte. | Sans entrer dans les détails (ce n'est pas le but du site), il vous suffit d'introduire l'adresse IP de vos serveurs DNS primaire et secondaire dans les propriétés du protocole TCP/IP (accessible dans les connexions réseaux du panneau de configuration). Rajouter le suffixe DNS correspondant à votre domaine dans les propriétés réseaux de votre carte. | ||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | Site web : [[https://www.powerdns.com/|PowerDNS]]\\ | ||
+ | Documentation officielle : [[https://www.powerdns.com/en/documentation.aspx|Doc]] | ||
+ | |||
+ | Cet article est inspiré, au moins partiellement, de :\\ | ||
+ | [[http://www.howtoforge.com/installing-powerdns-with-mysql-backend-and-poweradmin-on-debian-etch]]\\ | ||
+ | [[http://nyrodev.info/index.php/2009/03/22/245-serveur-dns-powerdns-serveur-web-sur-debian-lenny]] | ||
---- | ---- | ||
+ | |||
+ | //Contributeurs : [[:utilisateurs:stephaneguedon]].// |