Principe de fonctionnement de la recherche de noms
Lorsque qu’une demande de résolution de nom est demandée, Linux commence par regarder le fichier « /etc/hosts.conf : voici sa configuration
nano /etc/hosts.conf
order hosts,bind
multi onLa première ligne de ce fichier indique qu’il faut commencer la recherche en regardant la table hosts locale et ensuite il faut interroger le serveur DNS (bind).
La table hosts locale est enregistrée dans le fichier « /etc/hosts » (nano /etc/hosts) elle contient une table de correspondance entre des adresses IP et des noms, elle ressemble à :
127.0.0.1 localhost.localdomain localhost
192.168.0.6 debian1.mondomaine.com debian1La première ligne est obligatoire pour que le système fonctionne même quand le réseau est désactivé. L’adresse IP 127.0.0.1 est toujours associée au nom localhost.
Les lignes suivantes peuvent être ajoutées manuellement pour faire la correspondance entre des adresses IP et des noms. C’est ce qui est fait en l’absence de serveur DNS.
Si le résultat n’est pas trouvé dans la table hosts,le système recherche le serveur DNS indiqué dans le fichier « /etc/resolv.conf » :
search mondomaine.com
nameserver 192.168.0.1
nameserver 194.2.0.50La première ligne indique quel domaine il faut ajouter au noms si celui-ci n’est pas indiqué lors d’une demande de résolution de nom. Exemple :
ping monserveur.mondomaine.com -> Aucun domaine ne sera ajouté lors de la résolution du nom, car le domaine est fourni.
ping monserveur -> Le domaine mondomaine.com, sera ajouté avant d’effectuer la demande de résolution du nom (La recherche du nom, portera donc sur monserveur.mondomaine.com)
La deuxième ligne indique le serveur DNS principal.
Et c’est donc le serveur DNS qui sera chargé de donner le résultat s’il connaît la réponse ou de transmettre la question à un autre serveur DNS.
Si le serveur principal n’est pas disponible, le serveur DNS indiqué sur la ligne suivante sera utilisé.
Pourquoi installer un serveur DNS
Pour au moins deux raisons :
Éviter de tenir à jour la table hosts de chaque poste client d’un réseau.
Avoir un cache DNS qui accélère la recherche des noms.
Sur un réseau locale, un serveur DNS permet d’accélérer le trafic sur le réseau car de nombreux services ont besoins d’un serveur DNS bien configuré pour fonctionner correctement (WEB, POP, SMTP,..)
Cas pratique de l'installation de mon serveur DNS (nom de domaine DOLTAIRE)
Installation de Bind 9
Sous Debian, il faut installer le paquet suivant :
# aptitude install bind9dans mon cas j'ai installé un serveur en local(adresse de ma machine grâce à la commande ifconfig: 192.168.0.7),(nom de ma machine grâce à la commande hostname: pc-doltaire)modification du fichier /etc/bind/named.conf.local (nano /etc/bind/named.conf.local)on rajoute ces lignes
;la zone directe
zone "doltaire.bj" {
type master;
file " /etc/bind/db.doltaire ";
};
;la zone inverse; pour l'adresse 192.168.0.7 on aura 0.168.192 comme inverse
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/rev.doltaire";
}; on copie le contenu original du local vers notre fichier /etc/bind/db.doltaire# cp /etc/bind/db.local /etc/bind/db.doltairemodification ensuite de /etc/bind/db.doltaire$TTL 604800
@ IN SOA pc-doltaire.doltaire.bj. root.doltaire.bj. (
; dans mon cas le serial fait 20101201 (année 2010 décembre premier fichier) 20041122 ; Serial -> N° de série à incrémenter à chaque modif
; de ce fichier. Ce N° est utilisé par les
; serveurs esclaves pour lui indiquer qu'il
; doit mettre à jour sa base. Par commodité
; ce n° est une date à l'envers.
604800 ;Refresh -> A l'expiration du délai Refresh exprimé en
; secondes, le serveur excalve va entrer en
; communication avec le maitre et si il ne
; le trouve pas, il fera une nouvelle
; tentative au bout du délai Retry et si au
; bout du délai Expire il considerera que le
; serveur n'est plus disponible.
86400 ; Retry
2419200 ; Expire
604800 ) ; Minimum -> Durée de vie minimum du cache en secondes
;** Les 3 lignes suivantes permettent au serveur de se retrouver lui même
NS pc-doltaire.doltaire.bj. ;Nom du serveur
pc-doltaire A 192.168.0.7 ;Adresse IP du
;serveur de noms
;** Les lignes suivantes définissent la table entre les noms et les IP
pc-doltaire IN A 192.168.0.7
lna-marlene IN A 192.168.0.74
lna-raymonde IN A 192.168.0.109
doltaire.bj. IN A 192.168.0.7www IN A 192.168.0.7
;** Les lignes suivantes sont des alias entre des noms et des autres noms
www CNAME pc-doltaire ldap CNAME pc-doltairesamba CNAME pc-doltaireRésolution Inverse
cp /etc/bind/db.127 /etc/bind/rev.doltaire
modification de /etc/bind/rev.doltaire
$TTL 604800
@ IN SOA pc-doltaire.doltaire.bj. root.doltaire.bj. (
20101201
604800
86400
2419200
604800 )
NS pc-dolaire.doltaire.bj.
7 IN PTR pc-doltaire.doltaire.bj.
74 IN PTR lna-marlene.doltaire.bj.
109 IN PTR lna-raymonde.doltaire.bj.
7 IN PTR www.doltaire.bj.
modification des fichiers /etc/host.conf # nano /etc/host.conf order hosts,bindmulti onmodification de /etc/hosts.allow # nano /etc/hosts.allowin.telnetd:allproftpd : allmodification de /etc/hosts.deny # nano /etc/hosts.denyall: all EXCEPT .africa.com modification de /etc/resolv.conf# nano /etc/resolv.conf#search mondomaine.comsearch doltaire.bj# adresse ip de resolution de nom(adresse de mon serveur dns)
nameserver 192.168.0.7
# adresse ip du second serveur de résolution de nom, celle de BENIN-TELECOMS nameserver 81.91.236.72 modification de /etc/bind/named.conf.options pour définir d'autres serveurs de résolutionson remplace 0.0.0.0 par forwaders{ 81.91.236.72}:
modification de /etc/hosts pour la table de correspondance127.0.0.1 localhost.localdomain localhost
192.168.0.7 pc-doltaire.doltaire.bj pc-doltaire192.168.0.74 lna-marlene.doltaire.bj lna-marlene192.168.0.109 lna-raymonde.doltaire.bj lna-raymonde
à la fin on rédémarre bind /etc/init.d/bind9 restarttest ping www.doltaire.bj réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128 nslookupserver par défaut: pc-doltaire.doltaire.bj> set type = NS si vous souhaitiez avoir les renseignements sur Name server, le serveur de nom
des commandes comme dig et host peuvent être aussi utiliséeshost nomduserveurhost adresse ip dig nomduserver.nomdedomainedig -x @dresseipduserver
Aucun commentaire:
Enregistrer un commentaire