Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant de traduire un nom de domaine (FQDN1) en informations de plusieurs types qui y sont associées, notamment en adresses IP de la machine portant ce nom.
2.1 Historique
NetBIOS et le modèle en couches TCP/IP
NetBEUI (non routable) associe un nom d’ordinateur à une adresse MAC. Utilise le broadcast.
En NetBIOS, le nom d’ordinateur doit faire 15 caractères maxi (15 octets). De plus le nom doit être unique sur l’inter-réseau.
LMHOSTS et WINS broadcastent pour résoudre les noms (donc ne passent pas les routeurs).
NetBT (NetBIOS over TCP/IP) associe un nom d’ordinateur à une adresse IP ARP traduit une adresse IPv4 en adresse MAC (entre la couche 2 et la couche 3)
CIFS est l’ancêtre de SMB et SMB2 qui sont des protocoles de partages de fichiers et imprimantes.
2.2 NetBIOS over TCP/IP
Interroger le cache NetBIOS : C:\> nbtstat -c
Type de noeud NetBIOS :
1(B)roadcast 2 (P)eer to Peer 4 (M)ix 8 (H)ybride
broadcast NBNS (WINS) diffusion WINS
WINS diffusion
Fichier lmhosts (virer le .sam) Résolution des Noms d'hôte (DNS)
Ordre d’interrogation des différents services : de haut en bas DNS : associe un noms d'hôte (FQDN) à une adresse IP.
1 FQDN : Fully Qualified Domain Name. Nom d’hôte suivi d’un point et du nom de domaine. Exemple : pc1.domaine.local
Fichier hosts : contenu dans /etc/hosts (systèmes Unix) ou %systemroot%\drivers\etc\hosts (systèmes Windows). Il associe les noms d’hôtes aux adresses IP. C’est le fonctionnement de BIND
2.3 Résolution
Windows 9x – Windows NT – Linux Windows 2000 et +
Hosts Cache DNS
Hosts
DNS DNS
NetBIOS (que pour Windows)
2.3.1 443BInstallation du rôle serveur DNS
Le service DNS est une « base de données » hiérarchique distribuée :
Le . (correspondant au domaine racine) doit être indiqué dans le FQDN
2.4 Configuration de DNS
Le fichier %systemroot%\system32\dns\cache.dns contient les noms des 13 serveurs racine d’internet.
Clients, serveur DNS dans le LAN, serveurs DNS sur Internet
2.5 Les enregistrements des serveurs DNS incluent
SOA : Source de nom (serveur principal de la zone). Nom du serveur qui a un accès en écriture sur la zone concernée
NS : Serveurs de noms. Noms des serveurs ayant autorité sur la zone (serveur principaux + serveurs secondaires).
CNAME : Enregistrement d’alias. Par exemple, www est souvient utilisé pour nommer srv-web
MX : Enregistrement de serveur de messagerie. Nom du serveur SMTP du domaine.
SRV : Enregistrement de service. Par exemple _LDAP
A : enregistrement d’hôte IPv4
AAAA : enregistrement d’hôte IPv6
PTR : pointeur. Permet de trouver le nom à partir de l’adresse IP Un serveur DNS peut faire :
Hosting : stockage des enregistrements de ressources
Résolveur : service des clients (va interroger les autres serveurs DNS
2.6 Requêtes DNS
Une requête peut être :
Récursive : seule la réponse totale est acceptée (réponse venant d’un serveur faisant autorité)
Itérative : une réponse partielle est acceptée Une requête peut aussi être :
Directe : on recherche l’adresse IP, le service, le MX, etc. à partir du FQDN
Inversée : on recherche le FQDN à partir de l’adresse IP Un serveur qui fait autorité sur la zone :
1. Donne une réponse totale
2. Sinon il dit que l’enregistrement n’existe pas (cette réponse fait autorité) Un serveur DNS qui ne fait pas autorité sur la zone :
1. Vérifie son cache pour savoir s’il peut donner une réponse totale 2. S’il ne trouve pas, il interroge les indications de racine
2.7 Requête récursive
Fonctionnement de la requête récursive
2.8 Requête itérative
Fonctionnement de la requête itérative
2.9 Qu’est-ce qu’un redirecteur
2.10 Redirection conditionnelle
Fonctionnement d’un redirecteur conditionnel
2.11 A propos du « round robin »
Si un même nom possède plusieurs adresses IP, le client reçoit toutes les adresses IP qu’il va utiliser aléatoirement, faisant une sorte de balance de charge.
Exemple :
www.google.fr A 214.55.0.14
www.google.fr A 214.55.0.15
www.google.fr A 214.55.0.16
Cependant, si une adresse IP est dans le même réseau que le client, celui-ci ne reçoit que cette dernière (pour des raisons évidentes de proximité).
2.12 Commandes utiles
Afficher le cache du serveur DNS :
Outils d’administration > DNS > Affichage détaillé
Console d’administration DNS :C:\> dnscmd / ? Afficher le cache local :
C:\> ipconfig /displaydns
Interroger le cache du serveur DNS (et pas le cache local) : C:\> nslookup
2.13 Configuration des zones DNS
Chaque serveur DNS « supérieur » effectue une délégation d’autorité au serveur DNS « inférieur » Une zone est une portion de l’espace de nom sur laquelle le serveur fait autorité.
Exemple de contenu d’une zone et zone de stub
Une zone principale est une copie en lecture/écriture d’une base de données DNS.
Une zone secondaire est une copie en lecture seule d’une base de données DNS.
Une zone de stub est une copie d’une zone contenant uniquement des enregistrements utilisés pour localiser des serveurs de noms.
Une zone intégrée à Active Directory est une zone dont les données sont copiées dans Active Directory plutôt que dans des fichiers de zone.
Délégation d’autorité
Délégation d’autorité
2.14 Exemple de fichier de zone
Contenu du fichier : C:\Windows\System32\dns\domtest.dns :
@ IN SOA bdc.domtest.local. hostmaster.domtest.local. (
9079488e-7280-464e-8acb-e7648ad02831._msdcs 600 CNAME bdc.domtest.local.
_kerberos._tcp.Premier-Site-par-defaut._sites.dc._msdcs 600 SRV 0 100 88 bdc.domtest.local.
_ldap._tcp.Premier-Site-par-defaut._sites.dc._msdcs 600 SRV 0 100 389 bdc.domtest.local.
_kerberos._tcp.dc._msdcs 600 SRV 0 100 88 bdc.domtest.local.
_ldap._tcp.dc._msdcs 600 SRV 0 100 389 bdc.domtest.local.
_ldap._tcp.d3d3d075-d100-4f22-b3d5-c3a90b020995.domains._msdcs 600 SRV 0 100 389 bdc.domtest.local.
_ldap._tcp.pdc._msdcs 600 SRV 0 100 389 bdc.domtest.local.
_kerberos._tcp.Premier-Site-par-defaut._sites 600 SRV 0 100 88 bdc.domtest.local.
_ldap._tcp.Premier-Site-par-defaut._sites 600 SRV 0 100 389 bdc.domtest.local.
_kerberos._tcp 600 SRV 0 100 88 bdc.domtest.local.
_ldap._tcp.Premier-Site-par-defaut._sites.DomainDnsZones 600 SRV 0 100 389 bdc.domtest.local.
_ldap._tcp.DomainDnsZones 600 SRV 0 100 389 bdc.domtest.local.
ForestDnsZones 600 A 192.168.80.11
_ldap._tcp.Premier-Site-par-defaut._sites.ForestDnsZones 600 SRV 0 100 389 bdc.domtest.local.
_ldap._tcp.ForestDnsZones 600 SRV 0 100 389 bdc.domtest.local.
PDC2 1200 A 192.168.80.20
On peut même se faire une idée de l’infrastructure … qui ici ne comprend que 2 hôtes :
BDC (192.168.80.11) qui est DNS principal et contrôleur de domaine (SRV _ldap)
PDC2 (192.168.80.20) qui est membre de la zone
2.15 Zones de recherches directes
Exemple de zone de recherche directe et de zone de recherche inversée
2.16 Zones de recherches inversées
Convention de nommage :
Le nom est du type adresse_inversée_réseau.in-addr.arpa Adresse inversée réseau :
pour un réseau 192.168.1.0 partie réseau = 192.168.1
adresse réseau inversée = 1.168.192
Attention : le nom FQDN contient un . à la fin. Exemple : pc1.domaine.local.
2.17 Délégation de zone
Sur le serveur NS1-societe faisant autorité pour la zone societe.local :
Définir en tant que zone principale, ajouter les enregistrements Sur le serveur NS1-domaine :
Ajouter une délégation indiquant que NS1-societe.societe.local fait autorité pour societe.local
2.18
448BConfiguration des transferts de zone DNS
Fonctionnement de la réplication de zone DNS Une requête AXFR est une requête de mise à jour de la zone
Une requête IXFR est une requête de rechargement de la zone
Serveur maitre : source des infos lors de la réplication. Celui auprès de qui un serveur secondaire effectue les requêtes. Un maitre peut être Zone Secondaire.
2.19 Fonctionnement DNS Notify
Le serveur principal envoie les notifications aux serveurs secondaires
2.20 Protection des transferts de zones
Principes :
Restreindre le transfert de zones aux serveurs spécifiés (serveurs déclarés pour cette zone)
Chiffrer le transfert de zones (IPSec…)
Utiliser les zones intégrées AD Configurer la restriction du transfert de zone :
1. Ajouter une Zone Principale sur SRV1
2. Ajouter une Zone Secondaire sur SRV2. SRV1 est maître.
3. Aller sur SRV1 et dire que SRV2 est connu pour la notification (ou intervalle d’actualisation) et le transfert de zones.
Rappels, pour les zones intégrées Active Directory :
La partition ForestDNSZone est répliquée sur tous les DC qui ont le rôle DNS dans la forêt
La partition DomainDNSZone est répliquée sur tous les DC qui ont un rôle DNS dans le domaine
2.21 Zones par défaut d’un DNS WS2008
_msdsc.domaine : répliqué sur la forêt ; informations sur les DC (cette zone est notamment utilisée pour les transferts de données entre les DC du domaine.
domaine : répliqué sur le domaine
Attention : pour les zones intégrées AD, nom de la zone = nom de la machine qui héberge la zone
2.22 Fonctionnalités
TTL : durée de vie d’un enregistrement
Une valeur nulle de TTL est utile pour le round robin. « tri de masque réseau » privilégie @IP dans le réseau
Vieillissement :
Un enregistrement non actualisé est supprimé au bout de 14 jours (par défaut) Les enregistrements créés manuellement n’expirent jamais (par défaut)
Vieillissement défini sur la zone (zone) ou pour toutes les zones du serveur (serveur)