Et voilà ! 😀
J’y suis enfin arrivé ^^’ …
La mise en place d’un serveur DNS à était une longue et douloureuse route pour mon apprentissage :s
En effet, une mauvaise config de serveur ou de zone et paf, le domaine n’est plus fonctionnel … D’autant plus dur que les mises à jour ce font au travers d’une propagation plus ou moins longue mais qui dure en moyenne 48h pour être totalement valide …
Enfin bon, voici un petit topo sur cette tâche qui m’à était réellement complexe et longue ^^’
Serveur DNS ? Ok ça me dis quelque chose mais c’est quoi exactement ?
De manière ultra résumé, un serveur dns c’est comme un aiguilleur ! Oui exactement mosieu ! En fait, inte
et est un sacré bordel routier, et pour pouvoir guider les voyageurs sur ce réseaux, il faut des aiguilleurs qui vont faire l’association par paire nom de domaine / adresse ip.
En gros l’inte
aute donne le nom à un dns qui lui rend l’adresse où ce trouve ce nom 🙂
Voici un petit schéma adapté à ma sauce qui permet de visualiser la chose plus facilement =>
Tout ça pourquoi faire ??
Avec un serveur DNS je peux gérer de manière totalement indépendante mes noms de domaines, mais aussi créer et gérer les sous domaines sans limitations, faire du routage en sous réseau plus poussé (bon d’accord là c’est po un sous réseau ><), faire fonctionner parfaitement d’autre serveur tel que le serveur mail, et, surtout, connaitre encore un petit peu plus de choses coté serveur ;D
En effet chez un registrar de type 1and1 , dans la gestion des noms de domaines ont peux être limité par le nombre de sous domaines disponible par exemple.
En réseau local, ces connaissances en serveur DNS, vont me permettre de pouvoir mettre en place un réseau de serveur tel que un serveur mail sur une machine, un serveur web sur une autre, un serveur jeux par labas, un serveur ftp vers labas …
De cette manière j’attribuerais des noms canonique à chacun au travers de mon serveur DNS et sur mes postes client il ne sera pas utile de faire de réglages complexe pour le fonctionnement de ces différents services.
Dans le détail voici quelques infos sur les réglages de mon serveur DNS
Tout d’abord le choix de l’application …
B c’est po compliqué, j’ai rien trouvé d’autre que BIND ^^’
Il semblerait que ce soit un total monopole de cette application opensource, soutenue par les grosses organisations mondiale de gestion des noms de domaine, AFNIC en tête (gestion des .fr).
Donc BIND en est actuellement à sa version 9, voici leur site web http://www.bind9.net/ pas très très jolie il faut l’avouer, mais on est dans le domaine de l’application opensource axée utilisateur avertis ^^’
En effet les kevin du web ne seront surement pas de la partie pour ce qui est d’une gestion de serveur DNS.
Bon, je continue, j’ai donc l’application, et pour tout avouer, j’ai pas eu de difficulté à l’installer, non pas qu’un apt-get install bind aurait été dur hein ^^’, mais je suis tout simplement passé par mon petit webmin 😀
Oh bonheur ce Webmin ! Quelques clics m’ont suffit pour être sur la page de réglages du serveur, mais là …. ont commencées les galères ^^’
Bon coté réglages serveur po très dur, on rassemble tout dans un dossier etc/bind et sur un petit fichier de config named.conf qui imbrique quelques autres conf . Par contre là où la galère à vraiment commencé, c’était pour la déclaration des zones :s
Une zone, c’est tout simplement la déclaration du nom de domaine, et c’est donc dans ça qu’on déclare les sous domaines, les serveurs mail, et les infos importante afin que le domaine soit validée et déclaré correct par l’AFNIC par exemple 🙂
A noter qu’un domaine .fr incorrectement réglé ce verrais non validée par l’AFNIC justement lors d’une déclaration.
Il à fallut donc faire des tests et des tests avec l’outil zonecheck http://www.afnic.fr/outils/zonecheck, ou encore avec le formidable site http://dnsstuff.fastnext.com/qui contient tout un tas d’outils réseaux tel qu’un testeur de nom de domaine et serveur DNS 🙂
Un passage par un post sur le forum OVH et paf, libération par un grand cassiopee, utilisateur salvateur du forum ^^
Grosse libération car ce n’est pas l’aide de mon petit Dif (Jonathan) ou encore de mes demandes sur forum debian ou kimsufi qui m’auront permit d’avancer … d’autant plus que les tutos et les explications sur le réglage de BIND9 sont plutôt accès serveur local et dans mon cas de figure les réglages devenait assez complexe 🙁
Enfin bon encore un grand merci à cassiopee pour le coup 😀
Je me suis donc retrouvé avec un serveur BIND9 sur pied mais resté à compléter la chose en faisant fonctionner le maximum de choses possible 🙂
Je me suis donc attaquée à une optimisation des fichiers, déplacement de l’ensemble de la config dans un répertoire, puis sont venu ensuite des réglages tel que l’installation et l’utilisation du protocole
DC, un outil permettant de régler les zones de manières dynamique et indépendamment d’un reboot du serveur pour application.
Une autre partie qui était assez complexe (par l’absence d’info trouvée sur le web), la mise en place de clef DNSSEC (extension du procotole DNS permettant de sécuriser et protéger contre l’usurpation d’identité de DNS), afin de sécuriser au maximum le serveur.
Enfin des réglages plus fin me permettant d’adapter une config réutilisable dans un réseaux plus professionnel, avec des réglages rendant la zone valide pour l’envoie de mail (non reconnu en spam sur hotmail par exemple), ou encore le couplage avec le serveur apache2 pour l’utilisation des sous domaines en vhosts.
Enfin voilà, tout est qui fini bien, mon serveur DNS, ns.wolwx.net, tout nouveau, tout beau, tout propre :p
salut,
j’ai installé mon serveur dns bind primaire sur fedora maitenant je veux securiser ce dernier mais je sais pas comment sachant que j’utilise webmin. j’ai cherché sur le net mais j’ai rien trouvé. merci de me dire qu’est ce que je dois faire car je suis vraiment bloquée.
merci d’avance
cordialement
Salut zouzoua 🙂
Tu entends par “sécuriser”, l’utilisation de DNSSEC ?
Si c’est le cas, je vais essayer d’expliquer ça du mieux possible ^^’ :
Donc voici les étapes, sachant que je me réfère à l’interface Webmin :
1 – Ce rendre sur la section de gestion du serveur DNS BIND => https://www.mondomaine.com:10000/bind8/
2 – Activer DNSSEC => https://www.mondomaine.com:10000/bind8/conf_trusted.cgi
Dans le menu général du module BIND il faut ce rendre sur l’option suivante
DNSSEC Verification
Le hic c’est que peut être que le bouton est différent lors de la création, pour ma part je n’ai que ce bouton à l’heure actuel.
Mais réglages sont alors les suivants :
DNSSEC enabled? Oui
DNSSEC response validation enabled? Oui
Additional trust anchors
Anchor zone dlv.isc.org.
Additional trusted keys
Zone name dlv.isc.org. Flags 257 Protocol 3 Algorithm 5 Key Text ungrosblocdesuitealphanumérique
Ces réglages ce retrouvent appliqués alors en fin de fichier de config named.conf de la sorte :
trusted-keys {
dlv.isc.org. 257 3 5 "ungrosblocdesuitealphanumérique";
};
Et dans le fichier de config named.conf.options un entrée dans la section “options” apparait :
options {
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside . trust-anchor dlv.isc.org.;
};
3 – Direction la page de configuration de la zone (domaine) à sécuriser => https://www.mondomaine.com:10000/bind8/edit_zonekey.cgi?index=10&view=
Dans cette page tu trouveras ces réglages
This zone does not have a DNSSEC signing key yet. You can use this form to have Webmin create one, so that clients resolving this zone are protected against DNS spoofing attacks.
New DNSSEC key options
Key algorithm
Key size Average size
Strongest allowed
Other size (in bits)
Number of keys to create Zone key and key-signing key Zone key only
J’ai personnellement laissé tous les réglages tel quel et validé par le bouton directement.
4 – Patienter la création de l’algorithme
Il faut être patient car la création de cette algorithme peux prendre pas mal de temps …
5 – Vérifier enfin que les fichiers sont bien créé par l’algorithme
dsset-nomdemazone.
Kwnomdemazone.+005+20247.key
Knomdemazone.+005+20247.private
6 – Vérifier le rajout de nouvelles entrées sur le fichier de zone
En fin de fichier on devrait trouvé ceci :
mondomaine.com. IN DNSKEY 257 3 5 unautregrosblocdesuitealphanumérique
*.mondomaine.com. 86400 IN RRSIG A 5 2 86400 20100510020030 20100410020030 20247 mondomaine.com. encoreunautregrosblocdesuitealphanumérique
*.mondomaine.com. 38400 IN NSEC mondomaine.com. A RRSIG NSEC
*.mondomaine.com. 38400 IN RRSIG NSEC 5 2 38400 20100510020030 20100410020030 20247 mondomaine.com.
salut WolwX ,
je trouve pas les mots pour te dire merciiiiiiiiiiiiiiiiiiiiii pour le guide qui est bien detaillé et claire
tu m’as vraiment aidé dans l’installation de dnssec donc merci milles fois
Pas de soucis, si je peux t’aider c’est avec plaisir 😉
Salut,
Super les infos sur dnssec et webmin.
Connaitrais tu une façon pour faire un serveur esclave avec webmin sur un autre serveur physique bien sur ?? Qui évite de retaper toutes les zones ??
Merci d’avance
Salut Superjb,
Concernant une config de serveur DNS secondaire voici la démarche à suivre, d’après ce que j’ai compris mais à confirmer après test, :
1 – installer BIND9 de la même manière que pour un serveur DNS primaire
en effet, seul la config change 🙂
2 – Déclaration du serveur DNS en secondaire primaire
Le but étant donc de déclarer ce serveur dns en temps que secondaire.
Ici en exemple un dns secondaire ayant pour nom de domaine mondnssecondaire.com et pour ip 192.168.255.x
Il faudra donc rajouter cette portion de code sur tonchemin/named.conf :
zone "mondnssecondaire.com" {
type slave;
masters {adresseipdetondnsprimaire;} ;
file "/tonchemin/zone/mondnssecondaire.com.db";
};
zone "255.168.192.in-addr.arpa" {
type slave;
masters {adresseipdetondnsprimaire;} ;
file "/tonchemin/zone/192.168.255.db";
};
include "/tonchemin/named.conf.options";
include "/tonchemin/named.conf.local";
tonchemin étant bien souvent = /etc/bind
3 – Déclaration du serveur DNS secondaire sur la config du serveur DNS primaire
Pour ce faire il te faut déclarer ce serveur secondaire comme une nouvelle zone sur le serveur DNS primaire de cette manière :
$ttl 1d ; 86400 (sec) par défaut
@ IN NS ns2.mondnssecondaire.com. admin.mondnssecondaire.com. (
2010051100 ; date de creation
10800
3600
604800
38400 )
ns2 IN A 192.168.255.x
250 IN PTR ns2.mondnssecondaire.com.
4 – Autoriser le serveur dns secondaire sur les zones du serveur dns primaire
Il suffit simplement de rajouter ce bout de code sur chaque déclaration de zone soit sur named.conf ou named.conf.local :
allow-transfer {192.168.255.x;} ;
Je pense qu’avec ceci ça devrait fonctionner, mais je testerais ceci en rentrant du bureau et te confirmerais ça si tu ne l’à pas fait avant 😉
Ok nickel !!
Je te retiens au courant dès que je test !!
c’est bon ça fonctionne merci !!
Parfait 😀
Merci du retour 😉
salut,
j’ai une autre problème aprés la signature de zone j’ai pas pu redémarrer bind pourquoi????????
merci d’avance
Peut être car la signature était en cours de création ?
C’est une opération relativement longue :s
Au cas ou, tu peux tjs jeter un oeil sur le fichier log qui ce trouve par ici :
/var/log/daemon.log
salut,
/var/log/daemon.log: Aucun fichier ou dossier de ce type ( 🙁 )
combien je dois attendrepour terminer la signature sachant que quand je clique sur check bind config sur webmin j’ai ce message: No errors were found in the BIND configuration file /etc/named.conf or referenced zone files
est ce que c’est suffisant pour connaitre que tout va bien??
merci pour tout
merci pour le guide de serveur secondaire car je vai le faire bientot ( :-)) )
En fait les vérifications de webmin concernant BIND9 sont limitées aux fonctions de bases avec configs de bases à ma connaissance.
Je ne suis donc pas sur qu’il te vérifie le fonctionnement de DNSSEC et de tes signatures donc :/
Concernant le temps d’attente pour la création d’une clef, tu sais que ça sera fini quand les fichiers créés par l’agorythme sont en place :
dsset-nomdemazone.
Kwnomdemazone.+005+20247.key
Knomdemazone.+005+20247.private
Le temps approximatif … ^^’ je serais du genre à attendre quelques heures max mais j’ai un dédié plutôt puissant …
Enfin pour le fichier log tu peux toujours le chercher avec un petit # locate daemon.log
salut,
je suis désolée pour le dérangement mais j’ai besoin une autre fois de votre aide.
j’ai installé le serveur secondaire sur une autre machine virtuelle fedora donc comment je peux tester les deux serveurs pour verifier que le secondaire fonctionne bien.
concernant les aspects de securité comme dnssec comment je la configure sur le serveur secondaire????????ou sa configuration sur le primaire est suffisante???
merci d’avance
Salut Zouzoua,
En fait l’utilisation d’un serveur DNS secondaire est pratique pour gérer des noms de domaines sur une autre machine et décharger le premier serveur lors d’afflux important.
D’après ce que j’ai compris donc, la mise en place d’un serveur dns secondaire ne serait donc pas courante pour des webmasters lambda ^^’
D’autant plus que l’on peux bien souvent, utiliser les dns proposés par les registrars et hébergeurs auprès desquels ont à acheter les nom de domaine afin de les régler en serveur secondaire.
Mais si tu veux tester ceci, tu peux utiliser des outils tel que que ceux proposé par le site http://dnsstuff.fastnext.com/ pour vérifier les réglages 🙂
Pour DNSSEC, tout est lié directement à la zone (domaine), ainsi si tu veux sécuriser un nom de domaine géré par ton dns secondaire, il te faudra activer le DNSSEC sur celui ci de la même manière que sur ton serveur primaire.
salut wolwox :))
merci pour les reponses vous pouvez pas lmaginer combien vous m’avez aidé dans mon projet
je suis obligé d’installer deux serveurs dns primaire et secondaire bien securisé sur deux mahines virtuelles et aprés ils seront appliqué dans un reseau reel (c’est le sujet de mon projet de fin d’etude)…
merci pour tout
cordialement
Bonjour,
c’est moi une autre fois
je voudrai chrooté mon serveur dns installer sur fedora 10 mais le probleme que je trouve pas le fichier /chroot/named/dev/log
sachant que la commande # ls /chroot/named/dev donne:
null random
donc jetrouve pas le fichier log
et voila ce qui j’ai deja fait:
jai ajouté dans le fichier /etc/passwd la ligne suivante:
named:x:200:200:Nameserver:/chroot/named:/bin/false
et dans le fichier /etc/group :
named:x:200:
# mkdir -p /chroot/named
# cd /chroot/named
# mkdir -p dev etc/namedb/slave var/run
# cp -p /etc/named.conf /chroot/named/etc/
# cp -a /var/named/* /chroot/named/etc/namedb/
# chown named:named /chroot/named/var/run
# cp -p /etc/named.conf /chroot/named/etc/
# cp -a /var/named/* /chroot/named/etc/namedb/
# chown named:named /chroot/named/var/run
# mknod /chroot/named/dev/null c 1 3
# mknod /chroot/named/dev/random c 1 8
# chmod 666 /chroot/named/dev/{null,random}
# cp /etc/localtime /chroot/named/etc/
# vim /etc/rc.d/init.d/rsyslog
et j’ai changé la ligne
daemon syslogd
en
daemon syslogd -a /chroot/named/dev/log
# vim /etc/sysconfig/rsyslog
et j’ai modifié la ligne en
SYSLOGD_OPTIONS=”-c 2 -a /chroot/named/dev/log”
# /etc/rc.d/init.d/rsyslog stop
Arrêt de l’enregistreur de journaux du système : [ OK ]
[root@bouzadi named]# /etc/rc.d/init.d/rsyslog start
Démarrage de l’enregistreur de journaux du système : [ OK ]
j’ai cherché beaucoups mais j’ai pas trouvé une solution 🙁
aidez moi svp si possible
merci d’avance
Salut,
As-tu essayé un “locate nomdetonfichierrecherché” ?
salut,
oui et elle ne me retourne rien 🙁
sachant que j’ai toujours cette probleme:
# service named restart
Arrêt de named : [ OK ]
Démarrage de named : [ÉCHOUÉ]
Désolé pour le retard :s
Il te faut absolument trouver le fichier de log, c’est lui qui t’indiqueras les erreurs qui bloque le lancement de l’application.
Pour ma part lorsque je bute sur un problème du genre, je reprend à zero …
Dans ton cas je ferais donc une sauvegarde de mes configs et referais une nouvelle installation avec les configurations de bases.
En espérant que ça puisse t’aider …