DOMAIN NAME SYSTEM Tutoriel sur le DNS CAILLET Mélanie Session 2012-2014 Option SISR
Table des matières DOMAIN NAME SYSTEM 2013 I. DNS Statique sous Linux (Ubuntu 12.04 LTS)... 3 A. DNS Principal... 3 1. Installation... 3 2. Configuration... 3 3. Fichier interfaces... 7 4. Tests... 7 5. Sécurisation... 8 6. Fichier de Logs... 9 B. DNS Secondaire... 9 1. Configuration... 9 2. Test... 10 II. DNS Dynamique sous Linux (Ubuntu 12.04 LTS)... 11 2
I. DNS Statique sous Linux (Ubuntu 12.04 LTS) A. DNS Principal 1. Installation Pour l installation du service DNS sur une station Linux, il suffit d installer le paquetage Bind9. Une fois l installation du paquetage terminé, nous allons travailler dans le chemin /etc/bind. Voici les fichiers qui se situe dans ce dossier de configuration : (en jaune les fichiers qui nous intéresses) 2. Configuration a) Named.conf Dans la capture suivante, nous remarquons que c est là ou nous incluons le chemin des autres fichiers important de configuration. Cela permet aussi une meilleure organisation des fichiers. b) Named.conf.option Ce fichier nous sert à renseigner les options dont nous avons besoin. Dans un premier temps, il faut informer quel serveur DNS notre serveur suivra pour faire ses configurations de résolution de nom. Dans notre cas, le serveur DNS que nous mettrons en place suivra le serveur DNS de notre lycée. Dans un second temps, nous mettons l option qui permet l autorisation à d autres réseaux de pouvoir utiliser s les résolutions de nom du serveur DNS. Cela évite de mettre un serveur DNS dans tous les réseaux que nous possédons.
DOMAIN NAME SYSTEM 2013 c) Named.conf.local Ce fichier est le plus important en termes de configuration du serveur. C est ici que nous allons configurer les zones directes & les zones inverses. Dans la capture ci-dessous, nous avons déclaré en zone directe & en zone inverse le serveur DNS de type maître (le serveur principal) & son fichier de configuration. ZONE DIRECTE (1) Zone directe Concernant notre projet : Nom de zone : ppe-sio2.local Type : maître (car serveur DNS Principal) Fichier de configuration : /etc/bind/db.ppe-sio2.local. Origine du fichier : copie de db.local Explications des déclarations : SOA : déclaration du serveur maître. La syntaxe est : «le_nom_de_la_machine.nom_du_domaine.» 4
Il faut aussi déclaré pour le compte root : «root.nom_du_domaine.» NS : ce qui définie les serveurs DNS du domaine. La syntaxe est : «le_nom_du_serveur_principal_dns.nom_du_domaine.» A : déclaration d un nom en fonction d une adresse IP. Généralement, les déclarations à mettre sont seulement pour les serveurs car les clients sont en DHCP. CNAME : déclaration des alias Le nom du service est déclaré en fonction de la fonctionnalité d une machine. (2) Zone inversée Explication du fonctionnement de la zone inversée : Ce n est pas plus compliqué que la zone directe! Pour mieux comprendre, nous allons utiliser le schéma d en dessous : Sur cet exemple, la personne a choisi l adresse IP 192.168.100.110. Le résultat de cet exemple est 110.100.168.192.in-addr.arpa. POURQUOI? Et bien pour faire la zone inversée de cette adresse il vous suffit simplement de connaître le début de l arborescence de la zone inversée & le tour est joué.
DOMAIN NAME SYSTEM 2013 La syntaxe : «le_dernier_octect_de_@_ip.le_troisième_octect_de_@_ip.le_second.le_premier.in-addr.arpa.» ATTENTION : NE JAMAIS OUBLIER LE «.» DE LA FIN! C est ce qui correspond à la racine de la zone inversée (sous Linux, la racine est «/»). Sur certaine documentation, il est possible que le dernier octet de l adresse IP ne soit pas utilisé. Maintenant que vous avez compris, ou à peu près, vous allez pouvoir exploiter la capture qui suit. ZONE INVERSÉE Concernant notre projet : Nom de zone : 1.168.192.in-addr.arpa. Type : maître (car serveur DNS Principal) Fichier de configuration : /etc/bind/db.192.168.1 Origine du fichier : copie de db.127 Explications des déclarations : SOA : déclaration du serveur maître. La syntaxe est : «le_nom_de_la_machine.nom_du_domaine.» Il faut aussi déclaré pour le compte root : «root.nom_du_domaine.» 6
NS : ce qui définie les serveurs DNS du domaine. La syntaxe est : «le_nom_du_serveur_principal_dns.nom_du_domaine.» PTR : déclaration d une adresse IP en fonction d une résolution de nom de la machine concernée. Généralement, les déclarations à mettre sont seulement pour les serveurs car les clients sont en DHCP. Une fois que les modifications effectuées, ne pas oublier de redémarrer! Pour ce fait, la commande est la suivante : 3. Fichier interfaces A la fin de toute la procédure précédente, on peut désormais indiquer une adresse de serveur DNS primaire & secondaire en lui indiquant le nom de la zone auquel il appartient. Cette indication se fait dans le fichier /etc/network/interfaces. Une fois de plus, ne pas oublier de redémarrer le service des cartes réseaux. Cela permet aussi de mettre à jour automatiquement un fichier qui se trouve dans /etc/resolvconf. Une fois que toutes les mises à jour sont faites, on peut tester si notre configuration de résolution de nom est correcte ou non. 4. Tests L outil de test pour la résolution de nom est NSLOOKUP. Sur la capture suivante, nous effectuons un nslookup sur notre PassFRW : Exploitation du résultat obtenue :
DOMAIN NAME SYSTEM 2013 > passfrw : «>» est le prompt lorsque nous sommes dans le mode NSLOOKUP. Passfrw est la machine sur laquelle on effectue la résolution de nom. Server : 192.168.1.1 : cette ligne nous indique l adresse du serveur DNS qui fait l action NSLOOKUP. Address : 192.168.1.1#53 : idem que précédemment. #53 désigne le port du serveur. (port 53 : DNS). Name : passfrw.ppe-sio2.local : cela nous indique le nom de la machine & son nom de domaine & nous voyons qu elle est bien sur notre domaine. Address : 192.168.1.254 : donne l adresse IP de la machine que l on demande. 5. Sécurisation Tout ce qui précède est une installation & une configuration de base. Elle n est donc pas très sécurisée. Nous allons donc remédier ceci. Souvenez-vous dans le fichier named.conf.local : Ici on peut voir que nous avons le chemin absolu de l endroit ou se trouve le fichier de configuration. Ce qui est très mauvais en termes de sécurité, surtout dans le monde de l entreprise! La solution que nous mettons en place est la suivante : Suppression du chemin absolu pour ne laisser que le nom du fichier. Ensuite, nous déplaçons les fichiers de configurations important dans un dossier qui est le répertoire de stockage des fichiers de zones par défaut /var/cache/bind. Grâce à la variable directory, dans le fichier named.conf.option, nous n avons pas besoin de mettre le chemin complet du fichier de configuration 8
Nous mettons donc l option directory dans le fichier des options (named.conf.option). Cette option sert à dire au serveur DHCP qu il faudra qu il point sur le dossier spécifié dans l option pour trouver les fichiers de configuration comme ils ne se situent pas à l endroit de base. Cette fois nous avons une sécurité un peu plus avancé. On déplace maintenant les fichiers de configuration dans le dossier sécurisé. 6. Fichier de Logs Vérification du fichier de logs pour savoir si durant la procédure il n y a pas eu d erreur répertoriée ou autre. Apparemment rien d anormale. B. DNS Secondaire 1. Configuration Déclaration d un DNS secondaire. Un DNS Secondaire sert simplement dans le cas ou le premier tombe en panne qu il puisse prendre le relais car dans le monde professionnel on ne peut se permettre qu un serveur tombe en panne & qu il n y en ai pas un qui puisse prendre le relais. On fait une simple déclaration dans le fichier named.conf.local comme pour le serveur DNS Principal. Les changements sont au niveau de la ligne «type» ou on ne met pas «master» mais «slave» qui désigne que c est un serveur esclave & un ajout de la ligne master qui renseigne l adresse du serveur DNS Principal. La dernière ligne permet de faire une copie des fichiers de résolution de nom en cas de panne du premier.
DOMAIN NAME SYSTEM 2013 2. Test Test 1 Test 2 Sur le premier test on effectue le test avec le serveur principal. Nous avions déjà testé la résolution de nom & avions vu que cela fonctionnait. Sur le second test, on éteint le serveur principal pour que le second serveur puisse prendre le dessus pour faire les tests de résolution de nom. On s aperçoit qu on obtient le même résultat que le test numéro 1. Récapitulatif des déclarations. 10
II. DNS Dynamique sous Linux (Ubuntu 12.04 LTS) A voir plus tard dans le projet