Administration DNS sous Linux
Dr. Yahia Benmoussa
[Link]@[Link]
Plan
● Résolution de nom (coté client) dans Linux
● Serveur de nom bind
● Installation
● Configuration
Résolution de nom dans Linux
● Le premier niveau de résolution de noms dans Linux est fait avec le
fichier /etc/hosts (man hosts)
● Syntaxe :
[Link] [Link] thishost
[Link] [Link] pc1
[Link] [Link] pc2
[Link] [Link] master
– [Link] [Link] thishost
● /etc/hosts convient pour la résolution de nom dans un réseau de
petite taille
Résolution de nom dans Linux
● Le deuxième niveau de résolution se fait via DNS
● La configuration du serveur DNS se fait dans [Link]
● Ce fichier, en général, ne doit pas être édité manuellement.
– Il est modifié par des outils de gestion réseau
Ifup/ifdown
●
● NatworkManager.
● Synataxe
nameserver <Adresse IP du serveur DNS>
domain <Domaine local auquel appartient l’ordinateur>
search <liste de domaine>
● Toute les requête DNS sont redirigés vers dnsmasq dans /etc/[Link]
nameserver [Link]
Résolution de nom dans Linux
● Dans ubuntu, dnsmasq est utilisé comme proxy DNS
local.
● Avantage :
– Facilité la configuration : Offre une interface de
configuration via les socket
– Possibilité d’avoir un cache DNS local.
● dnsmasg est géré automatiquement par NetworkManager.
● dnsmasg écoute sur l’adresse [Link]:53
Résolution de nom dans Linux
Résolution de nom dans Linux
● Récapitulatif : Pour résoudre un nom d’ordinateur X dans
Linux
– Si X est dans /etc/hosts
● → récupérer son adresse
● → Fin
– Sinon
● Récupérer @ serveur DNS du /etc/[Link]
● → Envoyer la requête vers ce serveur DNS
(éventuellement dnsmasq)
● → Fin
Résolution de nom (coté serveur)
● Plusieurs serveur DNS existent sous Linux
● Le serveur bind (named) est le plus utilisé dans le réseau
Internet.
Installation de bind
● Installation du serveur
– sudo apt-get install bind9
● Installation de la documentation
– sudo apt-get install bind9-doc
● /usr/share/doc/bind9-doc/
Configuration de bind
● La configuration de bind se fait dans le fichier
/etc/bind/[Link] (man [Link])
● Le fichier de configuration permet de définir :
– Des options
– Des zones
● Les enregistrement DNS sont définis dans des fichier
textes.
Configuration de bind (Primaire/secondaire)
● Exemple :
zone "[Link]" {
type master;
file "/etc/bind/[Link]";
// Adresse IP du serveur secondaire autorisé à transférer cette zone
allow-transfer {
[Link] ;
};
};
Configuration de bind
// serveur secondaire de [Link]
zone "/etc/bind/[Link]" {
type slave;
file "[Link]";
// Adresse IP du serveur DNS primaire
masters { [Link]; };
};
Configuration de bind : Fichier zone
Démarrage/Arrêt de bind
● sudo systemctl start [Link]
● sudo systemctl status [Link]
Troubleshooting de DNS
● Commande dig (man dig)
– Commande qui permet d’interroger un serveur DNS et
d’interpréter ses réponses.
– Syntaxe
● dig [@server DNS] [-t type] <nom enregistrement>
Troubleshooting de DNS
● Commande dig (man dig)
– Commande qui permet d’interroger un serveur DNS et
d’interpréter ses réponses.
– Syntaxe
● dig [@server DNS] [-t type] <nom enregistrement>
Troubleshooting de DNS
$ dig @[Link] [Link]
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @[Link] [Link]
; (1 server found)
Flags ;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40895
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1,
ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
Requête ;; QUESTION SECTION:
;[Link]. IN A
;; ANSWER SECTION:
Section Réponse [Link]. 259200 IN A [Link]
;; AUTHORITY SECTION:
Section autorité [Link]. 259200 IN NS [Link].
Section info ;; ADDITIONAL SECTION:
supplémentaire [Link]. 259200 IN A [Link]