P R O J E T P E R S O N N A L I S E E N C A D R E INSTALLATION D UN SERVEUR DNS DATE 30/10/2014 DESCRIPTION DU PPE AUTEUR Projet de création d un serveur DNS interne à une entreprise DE CUYPERE Maxime page : 1/8
TABLE DES MATIERES 1 INTRODUCTION... 3 2 PRINCIPE... 3 3 INSTALLATION... 3 4 CONFIGURATION... 4 4.1 VIA INTERFACE GRAPHIQUE... 4 4.2 VIA POWERSHELL... 6 5 CONCLUSION... 7 page : 2/8
1 INTRODUCTION Nature de l activité : Une organisation exprime le besoin de résoudre le nom de ses serveurs internes. Solutions envisageables : Mise en place d un DNS Windows ou Linux. Solution retenue : DNS sur Windows server 2012 Conditions de réalisation : Machines virtuelles (serveur et client), Sources Windows Serveur 2012 et Windows 7 Compétences mises en œuvre : A1.1.2, A1.2.2, A1.3.1, A1.3.4, A2.1.2, A3.1.1, A3.1.2, A3.1.3, A3.2.1, A3.3.1, A3.3.3, A3.3.4 Le DNS (Domain Name System) est un service visant à faciliter grandement les communications entre utilisateurs et ordinateurs. En effet, tous les équipements d un réseau IPv4 sont identifiés par une adresse (privée ou publique) composée de 4 octets séparés par un point (X.X.X.X). Ces adresses ne permettent pas de dénomination particulière d une machine et sont difficiles à retenir. Ne parlons même pas des IPv6 C est pourquoi il a été mis en place un système de «noms de domaines» et de «noms d hôtes». Ces noms correspondent tous à une adresse IP et un serveur permet de traduire un nom en adresse et vice-versa. 2 PRINCIPE Lorqu un utilisateur veut acceder à un site Web, il tape son URL. L ordinateur a plusieurs choix, dans l ordre de priorité : Recherche le nom dans son «cache DNS» Le premier niveau de recheche. Le cache DNS est rempli au fur et à mesure des réponses des serveurs afin de ne pas les encombrer avec des requêtes intempestives pour le même nom de domaine. Recherche sur le serveur Si la recherche dans le cache n a donné aucun résultat, le client envoie une requête au serveur. De son côté, s il ne connait pas le nom de domaine recherché, il transmettra la requête au serveur supérieur à lui, si celui-ci a été configuré. Sinon, il retournera l erreur «404 not found» 3 INSTALLATION page : 3/8
L installation peut se faire de 2 façons différentes : le gestionnaire de Rôles et Services Windows ou via PowerShell. Dans le cadre du PPE, le service sera installé et configuré une première fois via l interface Windows et une seconde fois via PowerShell (un snapshot de la machine virtuelle sera utilisé pour le rollback). Pour installer le service DNS via PowerShell, il faut entrer la commande suivante : Add-WindowsFeature -Name 'dns' -IncludeManagementTools 4 CONFIGURATION Une fois l installation terminée il faut configurer le serveur DNS. 4.1 Via interface graphique Il faut tout d abord créer une «zone de recherche directe». Le configurateur demande le nom de la zone puis le type de «mise à jour dynamique» l on souhaite mettre en place. La mise à jour dynamique permet aux ordinateurs de s enregistrer dans le DNS afin que leur IP corresponde à leur nom NetBios. Trois choix s offrent à l administrateur : Refuser la mise à jour dynamique Accepter depuis les sources sûres (STA connues dans l Active Directory) Cette option n est disponible que quand le serveur se trouve dans un domaine Active Directory. Accepter tout La dernière option est largement déconseillée car elle constitue une faille de sécurité. Ensuite, il faut créer une «zone de recherche inversée» afin de dissocier les différents VLAN lors des requêtes DNS. En effet, une machine peut être présente sur 2 réseaux en même temps ou 2 machines peuvent avoir le même nom sur des réseaux différents. C est pourquoi il est important de bien cloisonner les requêtes DNS interne. Maintenant, nous pouvons maintenant ajouter des «enregistrements» à la zone de recherche directe. Ces enregistrements peuvent être de plusieurs types. La liste des types et leurs définitions sont disponibles ici : http://en.wikipedia.org/wiki/list_of_dns_record_types. Afin de bien associer l enregistrement à un VLAN particulier (pour les résolutions interne) il est important de cocher la case «Ajouter l enregistrement au PTR» qui correspond à la zone de recherche inversée. page : 4/8
Il est maintenant possible de résoudre le nom de la STA nommée «server». Vérifions cela sur une machine client. Il existe deux moyens de tester une résolution DNS : le «ping» et le «nslookup». Les deux méthodes seront utilisées ici. Depuis le VLAN1 : ipconfig /flushdns ping server Il faut vider le cache DNS avant de faire un ping pour s assurer de la résolution du nom via le serveur et non le cache. Pinging server [10.0.0.1] with 32 bytes of data: [ ] L adresse IP de server a bien été résolue. page : 5/8
Depuis le VLAN2 : ipconfig /flushdns ping server Ici encore il faut vider le cache DNS. Pinging server [10.1.0.1] with 32 bytes of data: [ ] L adresse a bien été résolue sur le VLAN2. Le nslookup est différent du ping, il fonctionne par domaine et recherche toutes les entrées disponibles dans la zone de recherche directe. C est pourquoi son exécution est indépendante du VLAN et donnera le même résultat. Le poste client ne se trouvant pas dans un domaine, je vais devoir préciser le domaine que je souhaite recherche. La zone de recherche directe actuelle s appelle «LAN», c est pourquoi je vais devoir rechercher «server.lan» : nslookup server.lan Server: server Address: 10.0.0.1 Name: server.lan Addresses: 10.0.0.1 10.1.0.1 Dans le premier bloc, nslookup précise le serveur utilisé pour la résolution des noms. Dans le second il rappelle le nom recherché et affiche les adresses associées. Ici, le serveur a renvoyé toutes les informations souhaitées. 4.2 Via PowerShell Lorsque Active Directory n est pas installé sur le serveur ou le domaine, il est nécessaire des préciser à PowerShell qu il doit travailler avec des fichiers d enregistrements et non l AD lui-même. C est pourquoi il est nécessaire de spécifier l argument ZoneFile qui n est pas implicite dans l éxecution de la commande. Création de la zone de recherche directe : Add-DnsServerPrimaryZone -name 'LAN' -ZoneFile 'lan.dns' Création des deux zones de recherché inversée correspondant aux 2 VLAN : Add-DnsServerPrimaryZone -NetworkId '10.0.0.0/16' -ZoneFile '0.10.inaddr.arpa.dns' Add-DnsServerPrimaryZone -NetworkId '10.1.0.0/16' -ZoneFile '1.10.inaddr.arpa.dns' L avantage de cette solution est que contrairement à l interface graphique, celle-ci nous laisse la liberté de choisir la taille de la zone de recherche inversée (/8, /16, etc ). L interface graphique permet seulement de créer une zone en /24. Comme le montre la commande suivante, les zones ont bien été créées : Get-DnsServerZone page : 6/8
Il faut maintenant régler les paramètres de sécurité (supprimer la mise à jour dynamique). PowerShell s occupe de ce problème seul lors de la création de la zone. Lorsque le paramètre n est pas spécifié, les mises à jour dynamiques sont automatiquement refusées. Ce paramètre est vérifiable avec la commande suivante : Get-DnsServerZone select ZoneName, DynamicUpdate «None» signifie qu aucune mise à jour ne sera acceptée. S il s avère que les mises à jour dynamiques sont acceptées, il faut exécuter la commande suivante sur toutes les zones que l on souhaite restreindre : Set-DnsServerPrimaryZone -ZoneName 'lan' -DynamicUpdate 'none' (pour la zone «LAN» uniquement) Les valeurs possibles pour l argument DynamicUpdate sont : «None» pour aucune mise à jour, «Secure» pour les STA connues (Active Directory) et «NonSecureAndSecure» pour tous. Il est maintenant temps de créer les enregistrements. Add-DnsServerResourceRecordA -ZoneName 'lan' -name 'server' -IPv4Address '10.0.0.1' CreatePtr Add-DnsServerResourceRecordA -ZoneName 'lan' -name 'server' -IPv4Address '10.1.0.1' CreatePtr Pour plus de facilité (et éviter une étape supplémentaire), l argument CreatePtr se charge de créer l enregistrement «inverse» dans la zone de recherche inversée. Les tests sur la machine client prouvent que ces enregistrements fonctionnent : ping server.lan Pinging server.lan [10.0.0.1] with 32 bytes of data: [ ] Et le nslookup : Server: server.lan Address: 10.0.0.1 Name: server.lan Addresses: 10.0.0.1 10.1.0.1 5 CONCLUSION Le serveur DNS n est pas un outil indispensable dans un réseau interne. Il est tout à fait possible de faire fonctionner le réseau sans problème sans ce service mais il limite quand même les fonctionnalités. Par exemple, il est impossible d utiliser Active Directory sans serveur DNS. De plus, il réduit grandement le temps passé à rechercher un serveur via son IP. Pour les utilisateurs accédant à internet en revanche, le serveur DNS se révèle presque indispensable. Tout comme le service DHCP, l installation du DNS via PowerShell est plus orientée scripting et core server mais est tout à fait possible et relativement facile. L installation par interface graphique elle est plus orientée aide et guide les administrateurs dans les étapes de la mise en place. page : 7/8
Evolutions possibles : Ajout de zones de recherches, d entrées manuelles page : 8/8