Le service DNS (Domain Name System) est utilisé par les équipements informatique pour traduire des noms de domaine en adresse IP ou autres enregistrements. En effet, il est en général, pour notre cerveau, de connaitre l’adresse du site comme question-science.fr plutôt que 192.168.1.1 ou, en IPV6, 0:0:0:0:0:ffff:c0a8:101
Historique
La première implémentation de DNS a été conçue par deux américains, Jon Postel et Paul Mockapetris en 1983.
Fonctionnement
Le DNS fonctionne par un système de hiérarchie à partir d’une racine nommée « . ». Cette racine est gérée par 13 autorités appelées root-server qui vont de a.root-servers.net à m.root-servers.net. Ce sont ces autorités racines qui vont indiquer qui gèrent les domaines de niveaux inférieurs. Chaque domaine sera géré ensuite par des serveurs DNS de même niveau et ainsi de suite. La hiérarchie DNS peut se représenter par un arbre.
Prenons l’exemple de google.fr. Une requête va permettre de connaitre les serveurs DNS gérant le domaine.
nslookup -type=ns google.fr
google.fr nameserver = ns4.google.com
google.fr nameserver = ns1.google.com
google.fr nameserver = ns3.google.com
google.fr nameserver = ns2.google.com
Si on remonte d’un niveau, c’est à dire .fr, on peut visualiser les serveurs gérant cette entite :
nslookup -type=ns fr.
fr nameserver = e.ext.nic.fr
fr nameserver = d.nic.fr
fr nameserver = f.ext.nic.fr
fr nameserver = g.ext.nic.fr
Puis, en remontant à la racine « . »
nslookup -type=ns .
(root) nameserver = a.root-servers.net
(root) nameserver = g.root-servers.net
(root) nameserver = i.root-servers.net
(root) nameserver = f.root-servers.net
(root) nameserver = m.root-servers.net
(root) nameserver = d.root-servers.net
(root) nameserver = e.root-servers.net
(root) nameserver = j.root-servers.net
(root) nameserver = k.root-servers.net
(root) nameserver = h.root-servers.net
(root) nameserver = b.root-servers.net
(root) nameserver = c.root-servers.net
(root) nameserver = l.root-servers.net
Les types d’enregistrements
Pour un domaine spécifique, les enregistrements DNS peuvent être de différents types et permettent à certains services, comme le mail, se savoir plus rapidement qui être le serveur qui répondra. On peut voir les types d’enregistrements comme des catégories.
- Le type A (Address) est le type permettant la traduction du nom en adresse IPV4
- Le type AAAA est le type de base permettant la traduction du nom en adresse IPV6
- Le type NS (Name Server) indique quels sont les serveurs DNS qui ont autorité sur le domaine
- Le type MX (Mail Exchange) indique les serveurs qui recevront les courriels émis vers ce domaine
- Le type PTR (Pointer) fait exactement le contraire du type A, c’est-à-dire traduit une adresse IP en nom
- Le type CNAME (Canonical Name) permet de créer un alias vers un autre nom
- Le type SOA (Start Of Authority) indique les informations générales de la zone : serveur principale, courriel du responsable, numéro de série de la zone, les durée de transfert ou d’expiration (Time To Live)
- Le type SRV est une extension du type SOA
- Le type TXT permet d’associer un nom à un texte
- Le type SPF (Sender Policy Framework) est une extension du protocole de courriel SMTP et qui indique les serveurs de mails autorisés à émettre des courriels (luttre conte le spam et le phishing)
- Le type DKIM (Domain Keys Identified Mail) est un type texte qui va contenir une clé pour l’authentifier un système autorisé
Les logiciels
Côté serveur
Pour un entreprise (mais pour un particulier aussi), il est possible de créer un serveur DNS qui va gérer un ou plusieurs domaines. Il existe plusieurs logiciels permettant de gérer un DNS
Sous Windows
Sous Windows, Microsoft a implémenté une fonctionnalité DNS. Elle est très souvent utilisée avec un domaine Active Directory pour gérer un parc de postes de travail.
Sous Unix/Linux
Le plus connu et utilisé est BIND.
Côté poste de travail
Les utilitaires pour interroger un serveur DNS sont variés et dépendent du système d’exploitation. Sous Windows, on trouvera nslookup. Sous Linux, on trouvera nslookup ou dig.
Par l’immense majorité des cas, il n’y a rien à configurer sur son poste de travail pour que les résolution DNS fonctionne. A la maison, c’est votre accès à Internet (via la Box) qui configure la carte réseau (ethernet ou Wifi) de votre équipement et qui indique quels sont les serveurs DNS à utiliser. Dans votre entreprise, le principe est le même et ce sont vos ingénieurs réseaux qui administre l’ensemble.