Table des matières 1 SERVICE DNS... 2 1.1 INTRODUCTION... 2 1.1.1 Historique... 2 1.1.2 Principe... 3 1.1.3 Conversion de nom en adresse IP... 3 1.1.4 Conversion d'adresse IP en nom... 4 1.1.5 Le resolver... 5 1.2 INSTALLATION... 5 1.3 CONFIGURATION... 7 1.3.1 Enregistrement de ressources... 7 1.4 UN SERVEUR DE NOMS QUI NE SERT QUE DE CACHE... 9 1.4.1 zones... 10 1.4.2 Tester la configuration... 13 1.5 UN DNS POUR UN RÉSEAU LOCAL... 13 1.5.1 zones... 15 1.5.2 Tester la configuration... 16 1.6 UN DNS SECONDAIRE... 17 1.7 DÉBUGUER UN DNS... 20 1.8 DNS ET SÉCURITÉ... 21 1.9 OUTILS... 22 1.9.1 rndc... 22 1.9.2 nslookup... 24 1.9.3 host... 25 1.9.4 dig... 25 2011 Hakim Benameurlaine 1
1 SERVICE DNS 1.1 INTRODUCTION Dans un réseau, chaque machine se voit attribuer une adresse IP unique, qui permet de l'identifier. C'est un peu comme une adresse postale, qui permet d'identifier une maison de façon certaine. On se souvient facilement de www.linux-quebec.org, mais plus difficilement de 216.167.114.128. Le serveur de nom va permettre de trouver l'adresse IP à partir d'un nom (ou inversement). Pour résoudre un nom en adresse IP, la méthode la plus simple consiste à maintenir une table de conversion dans le fichier /etc/hosts : 127.0.0.1 localhost.localdomain localhost 192.168.1.1 neptune 192.168.1.2 pluton 1.1.1 Historique Au début des années 1970, un système centralisé à Stanford avec un fichier global HOST.TXT était utilise pour la résolution des noms. On pouvait récupérer la version la plus récente de ce fichier par ftp. Avec l'explosion du nombre de machines connectées à l'internet, ce système est devenu totalement ingérable. Un modèle centralisé est donc impossible à mettre en place, vu le nombre d'hôtes et le nombre de mises à jour nécessaires à apporter. Le DNS (Domain Name Server) a été conçu pour résoudre ce problème, en proposant un modèle hiérarchisé. Le serveur de nom présenté dans ce module est BIND (Berkley Internet Name Domain). Il a été développé à l origine à l université de Berkley. Présentement il est supporté par l Internet Software Consortium (www.isc.org). 2011 Hakim Benameurlaine 2
1.1.2 Principe Chaque machine reliée à un réseau se voit attribuer un petit nom. Ce nom est unique dans le domaine auquel elle appartient. Ainsi, pour les domaines domaine1.com et domaine2.com, on peut avoir deux machines portant des noms similaires ou différents. Par exemple, mail.domaine1.com et mail.domaine2.com désignent deux machines différentes, d'adresses IP différentes. On peut comparer cette adresse à une adresse postale : pour trouver un domicile de façon certaine, on commence par chercher le pays, puis la ville, puis la rue et enfin le numéro. Ici le pays est un nom de domaine de haut niveau. Ils sont bien connus de tous les internautes :.com,.net,.ca... Le nom de sous domaine peut-être assimilé au nom de la ville dans ce pays. Il peut y avoir plusieurs villes dans le monde ayant le même nom, mais dans un même pays un nom de ville doit être unique, pour pouvoir l'identifier de façon certaine. 1.1.3 Conversion de nom en adresse IP Chaque DNS ne connaît que les noms de ses fils (le serveur pour.com sait comment atteindre www.linux-quebec.com mais pas www.linuxquebec.org), et renvois à la racine les requêtes qu'il ne sait pas résoudre. 2011 Hakim Benameurlaine 3
Chaque serveur DNS garde en mémoire les dernières requêtes. Ainsi, si un nom est souvent demandé, il a toutes les chances de figurer dans la mémoire du serveur qui n'aura pas besoin d'interroger les autres serveurs. Au lieu d'avoir un serveur indexant toutes les machines du Web, il y a des milliers de machines indexant un petit bout de l'internet, en l occurrence leur sous domaine. Cela répartit les informations et les charges sur ces milliers de machines. Il est donc nécessaire de configurer son propre DNS pour son réseau, si on veut que les noms des machines de son propre domaine soient résolus par d'autres hôtes. 1.1.4 Conversion d'adresse IP en nom Pour pouvoir résoudre une adresse en nom, un pseudo-domaine a été mis en place : le domaine in-addr.arpa. 2011 Hakim Benameurlaine 4
1.1.5 Le resolver Pour interroger un serveur de noms, on n'a pas besoin d'avoir de DNS local. Pour toute requête, on passe par une bibliothèque appelée "resolver". Il s'agit d'un ensemble de fonctions écrites en C (comme gethostbyname, par exemple). Cette bibliothèque est indépendante du serveur DNS. Ainsi, on peut se contenter d'interroger des serveurs de noms extérieurs sans avoir de DNS local. Il faut d'abord modifier deux fichiers pour indiquer quels services de conversion de noms sont disponibles et quels serveurs de noms utiliser. Le fichier /etc/nsswitch.conf indique quels services de conversion de noms sont disponibles, et dans quel ordre il faut les appliquer : passwd: shadow: group: hosts: files nisplus files nisplus files nisplus files nisplus dns Le fichier de configuration du resolver s'appelle /etc/resolv.conf et détermine les serveurs DNS qui sont utilisés. 1.2 INSTALLATION Paquetage bind system-config-bind Description Serveur DNS Bind Utilitaire graphique pour configurer Bind 2011 Hakim Benameurlaine 5
caching-nameserver bind-utils Fichiers de configuration pour un DNS cache Utilitaires Pour démarrer le service Pour vérifier le statut Pour arrêter le service Pour installer l outil system-config-bind 2011 Hakim Benameurlaine 6
1.3 CONFIGURATION Le premier fichier de configuration lu par le serveur DNS est /etc/named.conf. Dans ce fichier on doit déclarer les zones qui sont servies par ce DNS. Le détail de chaque zone se trouve dans un fichier séparé. Le fichier de description d une zone est structuré en enregistrement de ressources (Record Resource) 1.3.1 Enregistrement de ressources Toutes les informations des divers fichiers de base de données named sont stockées sous un format appelé resource record (enregistrement de ressources). Chaque enregistrement est associé à un type qui indique la fonction de l enregistrement. Un enregistrement de ressources est le plus petit élément d information utilisé par named. Il existe une option permettant de spécifier des noms d hôtes absolus ou uniquement relatifs à ce domaine. Un nom d hôte est absolu s il se termine par un point comme orabec.ca. ; s il ne se termine pas par un point, il est considéré comme relatif au domaine local. (Appelé aussi origine). Vous pouvez vous référer à l origine elle-même en utilisant le caractère @. Les enregistrements de ressources utilisent une syntaxe générale identique quel que soit le type, cependant plusieurs parties de l enregistrement sont facultatives et prennent une valeur par défaut. Le format général est le suivant : [owner] [classe] [ttl] type data Les champs sont séparés par des blancs (espaces ou tabulations). Champ owner classe ttl Type Description Nom de domaine ou d hôte relatif à l enregistrement. Si aucun nom n est spécifié, le nom de domaine de l enregistrement de ressources précédent est proposé. Spécifie une classe d adresse réseau. La valeur IN doit être utilisée sur des réseaux TCP/IP. Si cette classe n est pas spécifiée, celle de l enregistrement de ressources précédent est utilisée. time-to-live (durée de vie), qui indique la durée de validité des informations dans cet enregistrement (en secondes) à partir du moment de leur récupération d un serveur DNS. Si aucune valeur n est précisée, le ttl minimal du dernier SOA (Start Of Authority, début d autorisation) est utilisé. Liste le type d enregistrement de ressources. Cette valeur est obligatoire 2011 Hakim Benameurlaine 7
data Spécifie les données associées à cet enregistrement de ressources. Cette valeur est obligatoire. Le format du champ data dépend du contenu du champ type. Les types d enregistrements sont les suivants : Type SOA NS A PTR CNAME HINFO MX Description Indique au DNS que tous les enregistrements de ressource qui suivent se rapportent à ce domaine. Le champ de données est encadré par des parenthèses et c est habituellement un champ à lignes multiples. Il contient les entrées suivantes : origin Nom canonique du serveur DNS primaire pour ce domaine. Normalement c est un nom de domaine absolu se terminant par un point. contact Adresse émail du responsable qui gère ce domaine. Comme le caractère @ a un sens particulier dans les enregistrements de ressources, il est remplacé par un point. serial Numéro de version du fichier d informations de zones. Ce numéro est utilisé par les serveurs de noms secondaires pour déterminer le moment où le fichier d informations de zone a changé. Il doit être augmenté de 1 à chaque modification du fichier. refresh Période (en secondes) durant laquelle le serveur secondaire attend avant de vérifier l enregistrement SOA du serveur DNS primaire. retry Période (en secondes) durant laquelle le serveur secondaire attend avant d essayer à nouveau une requête vers le serveur primaire si celui-ci n est pas accessible. expire Période (en secondes) durant laquelle le serveur secondaire attend avant de rejeter les informations de zones s il n a pas pu contacter le serveur primaire. minimum Valeur ttl par défaut pour les enregistrements de ressources ne spécifiant pas de valeur ttl. Pointe vers un serveur DNS. Un enregistrement A doit être doit être spécifié Enregistrement d adresse qui lie un nom d hôte et une adresse. Associe des adresses à des noms Associe un alias au nom canonique d un hôte Fournit des informations sur un hôte Établit un enregistrement d échange mail 2011 Hakim Benameurlaine 8
1.4 UN SERVEUR DE NOMS QUI NE SERT QUE DE CACHE Installer le paquetage caching-nameserver : On veut configurer un DNS qui ne sert que de cache (transmettra toutes les requêtes vers le DNS du fournisseur d'accès et gardera en mémoire les réponses). /etc/named.conf : // named.conf for Red Hat caching-nameserver options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; // query-source address * port 53; // // a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; zone "." IN { type hint; file "named.ca"; zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; 2011 Hakim Benameurlaine 9
zone "localhost" IN { type master; file "localhost.zone"; allow-update { none; zone "0.0.127.in-addr.arpa" IN { type master; file "named.local"; allow-update { none; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; include "/etc/rndc.key"; 1.4.1 zones Les fichiers des zones sont situés dans le répertoire /var/named (comme indiqué par la ligne directory "/var/named";). 1.4.1.1 zone root Le DNS va chercher les informations dans les fichiers named.ca pour la zone "." 2011 Hakim Benameurlaine 10
La zone "." correspond à la zone racine (la racine à tous les domaines de l'internet). Contenu du fichier /var/named/named.ca ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache. <file>" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC ; under anonymous FTP as ; file /domain/named.cache ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; ; last update: Jan 29, 2004 ; related version of root zone: 2004012900 ; ; formerly NS.INTERNIC.NET. 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; formerly NS1.ISI.EDU. 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201 ; formerly C.PSI.NET. 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; formerly TERP.UMD.EDU. 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; formerly NS.NASA.GOV. 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; formerly NS.ISC.ORG. 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; formerly NS.NIC.DDN.MIL. 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; formerly AOS.ARL.ARMY.MIL. 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; formerly NIC.NORDU.NET. 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; operated by VeriSign, Inc.. 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 ; operated by RIPE NCC. 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; operated by ICANN. 3600000 NS L.ROOT-SERVERS.NET. 2011 Hakim Benameurlaine 11
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; operated by WIDE. 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of File 1.4.1.2 zone localhost La zone localhost permet d'effectuer la résolution du nom local du serveur DNS Contenu du fichier /var/named/localhost.zone $TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS @ IN A 127.0.0.1 IN AAAA ::1 1.4.1.3 zone 0.0.127.in-addr.arpa La zone 0.0.127.in-addr.arpa permet d'effectuer la résolution inverse de toutes les adresses commençant par 127.0.0, donc cette zone permet de résoudre l'adresse 127.0.0.1 en son nom. Voici le fichier /var/named/named.local $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. 2011 Hakim Benameurlaine 12
Noter qu'un nom d'hôte seul se termine par un point (".") si c'est un nom relatif au domaine courant (le domaine spécifié par la ligne zone "0.0.127.in-addr.arpa" { dans le fichier /etc/named.conf). Ce point est donc extrêmement important! Ce domaine courant est représenté par le caractère @, et s il est hormis (comme à la ligne indiquant le serveur de noms pour le domaine, par exemple), named considère qu'il s'agit du domaine courant. 1.4.2 Tester la configuration Pour tester le nouveau serveur de nom installé, on peut utiliser le programme nslookup: 1.5 UN DNS POUR UN RÉSEAU LOCAL Dans cette section, on supposera que la machine sur laquelle tournera le serveur DNS que l'on souhaite installer s'appelle machine1 et que le domaine s'appelle domaine1. Le nom complet du serveur DNS est donc machine1.domaine1. Il a pour adresse IP 192.168.1.128. 2011 Hakim Benameurlaine 13
Pour les noms d'hôtes n'appartenant pas au domaine local (comme www.linux-quebec.org, par exemple), on contactera le serveur DNS du fournisseur d'accès d'adresses 212.27.32.5 et 212.27.32.6 (noter que ces deux adresses sont bien des adresses de DNS d'un fournisseur d'accès, il faut donc les remplacer par les adresses de son fournisseur d'accès!). Les autres hôtes du domaine s'appellent machine2 et machine3, d'adresses IP respectives 192.168.1.2 et 192.168.1.3. Le tableau suivant résume tout cela : Table: Résumé des paramètres du DNS que l'on cherche à configurer. Nom d'hôte Nom de domaine Adresse IP Adresses du DNS du fournisseur d'accès machine1 domaine1 192.168.1.128 212.27.32.5 212.27.32.6 machine2 domaine1 192.168.1.2 - machine3 domaine1 192.168.1.3 - Il faudra bien sûr préciser que toutes les nouvelles requêtes se feront à partir du DNS d'adresse 192.168.1.128 dans le fichier /etc/resolv.conf en mettant dans ce fichier la ligne nameserver 192.168.1.128 en premier. Noter par ailleurs que les adresses de DNS du fournisseur d'accès pourraient figurer dans ce même fichier /etc/resolv.conf (on peut en spécifier jusqu'à 3), mais cette méthode est désuète. Il est préférable de le spécifier dans le fichier /etc/named.conf par l'instruction forwarders comme c'est indiqué dans la suite. Les fichiers à modifier restent les mêmes que dans le cas d'un serveur DNS cache. On peut utiliser l outil system-config-bind (system-config-bind-tui) ou faire les changements manuellement. 2011 Hakim Benameurlaine 14
Voici les zones à ajouter au fichier /etc/named.conf : zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; zone "domaine1" { type master; file "domaine1.zone"; 1.5.1 zones Voici la description de la zone domaine1 et son inverse. 1.5.1.1 zone domaine1 Voici le fichier /var/named/domaine1.zone : $TTL 86400 @ IN SOA @ root.localhost ( 3 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 2011 Hakim Benameurlaine 15
86400 ; ttl ) @ IN NS machine1 machine1 IN A 192.168.1.128 machine2 IN A 192.168.1.2 machine3 IN A 192.168.1.3 1.5.1.2 zone inverse domaine1 Enfin, voici le fichier /var/named/1.168.192.in-addr.arpa.zone : $TTL 86400 @ IN SOA @ root.localhost ( 3 ; serial 28800 ; refresh 7200 ; retry 604800 ; expire 86400 ; ttk ) @ IN NS machine1.domaine1. 2 IN PTR machine2.domaine1. 3 IN PTR machine3.domaine1. 128 IN PTR machine1.domaine1. 1.5.2 Tester la configuration Comme précédemment, on peut tester notre nouvelle configuration avec nslookup. FORWARD 2011 Hakim Benameurlaine 16
REVERSE 1.6 UN DNS SECONDAIRE Pour équilibrer les charges des DNS locaux, on peut mettre en place plusieurs DNS pour notre domaine local. Dans ce cas on met d'abord en place un DNS primaire qui servira de "maître" pour le DNS secondaire. Dans 2011 Hakim Benameurlaine 17
les sections précédentes, on a précisé que le DNS que l'on mettait en place était "maître" pour le domaine local comme l'indique la ligne type master; du fichier /etc/named.conf. Dans notre cas, le fichier /etc/named.conf du DNS secondaire doit préciser que c'est un serveur "esclave", et préciser l'adresse IP de son serveur "maître" : options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; zone "domaine1." IN { type slave; file "slaves/domaine1.db"; masters { 192.168.1.128; zone "1.168.192.in-addr.arpa." IN { type slave; file "slaves/1.168.192.db"; masters { 192.168.1.128; Les zones "localhost" sont les même que sur le maître. Sur le DNS maître il faut spécifier : allow-transfer { 192.168.1.120 ; On peut aussi ajouter l option suivante pour désactiver l'envoi de messages aux serveurs esclaves pour leur indiquer des modifications de zone : notify no; 2011 Hakim Benameurlaine 18
On peut préciser plusieurs serveurs maîtres, séparés par un point-virgule (";"). La mise à jour du DNS "esclave" est automatique à partir du DNS "maître". Ainsi, insérer une nouvelle machine dans le DNS prend peu de temps, et tous les serveurs secondaires seront mis à jour automatiquement! Si l option notify est initialisé à yes alors à chaque changement de numéro de série du serveur maître, un message est envoyé aux serveurs esclaves pour leur indiquer qu'il faut mettre à jour leur configuration. Les options figurant au début du fichier de zone (serial, refresh...) servent pour le DNS secondaire. Détaillons ces options : serial refresh retry expire C'est le numéro (un nombre entier) de version du fichier d'information de zones. Ce numéro est utilisé par les DNS secondaires pour savoir si le fichier d'informations de zone du DNS primaire a été changé. Il doit être augmenté de 1 à chaque modification du fichier. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de vérifier (et éventuellement mettre à jour) l'enregistrement SOA du DNS primaire. Ces enregistrements ne changent pas souvent en général, une journée (86400 secondes) peut largement suffire. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de réessayer une requête vers le DNS primaire si celui ci n'est pas accessible. Cette valeur devrait être de quelques minutes. Intervalle de temps en secondes durant lequel le DNS secondaire attend avant de rejeter les informations de zones s il n'a pu contacter le DNS primaire. Cette valeur devrait être de plusieurs jours (voir plusieurs mois). 2011 Hakim Benameurlaine 19
1.7 DÉBUGUER UN DNS Il est admis que l'écriture des fichiers de configuration d'un DNS est difficile. En plus de cela, il faut faire très attention à ce que l'on écrit, un espace ou un point oubliés peuvent tout changer, et pour trouver l'erreur, on peut y passer des heures! Cette section présente quelques trucs et sources d'erreurs possibles. Consulter le fichier /var/log/messages après chaque lancement de named. Les erreurs apparaîtront avec le nom du fichier et la ligne incriminée ; Vérifier les noms des hôtes dans les fichiers de configuration. Ne pas oublier qu'un nom est relatif à la zone s il ne se termine pas par un point ; Ne pas oublier d'incrémenter le numéro de série dans les fichiers de configuration du DNS primaire pour qu'il soit pris en compte par DNS secondaire. Ne pas oublier que si un champ est facultatif, il faut quand même laisser un espace (IN MX 10 machine et MX 10 machine sont équivalents, mais il doit y avoir un espace avant MX) ; Si une zone extérieure semble ne pas être atteignable, utiliser l'option debug de nslookup : 2011 Hakim Benameurlaine 20
1.8 DNS ET SÉCURITÉ Il est souhaitable de sécuriser son DNS local. Voici quelques recettes. Dans le fichier /etc/named.conf, on peut spécifier les DNS autorisés à demander un transfert de zone à l'aide de l'option allow-transfer : /* * Seul le DNS d'adresse 192.168.2.1 a le droit de * récupérer les informations à partir de ce DNS. */ zone "domaine1" { type master; file "domaine1"; allow-transfer { 192.168.2.1 ; Les transferts de zones étant utilisés par les spammers et les spoofers d'ip, il est recommandé de spécifier cette option. Si on n'a pas de DNS secondaire, on peut mettre l'adresse loopback (127.0.0.1). On peut préciser plusieurs adresses, séparées par un point-virgule ; Autoriser les requêtes au DNS de la part des hôtes d'un domaine particulier, les autres n'y étant pas autorisés. Par exemple, pour que seuls les hôtes du domaine local 192.168.1.0 soient autorisés à interroger le DNS, insérer dans le fichier /etc/named.conf l'option allow-query : /* * Seuls les hôtes du domaine 192.168.1.0/24 * sont autorises à interroger ce DNS local. */ zone "domaine1" { type master; file "domaine1"; allow-transfer { 192.168.2.1 ; allow-query {192.168.1.0/24 ; L'adresse 192.168.1.0/24 signifie "toutes les adresses dont les 24 premiers bits commencent par 192.168.1.0". Comme on a une adresse de classe C avec un masque de réseau correspondant à une adresse de classe C, cela revient à dire tous les hôtes du réseau 192.168.1.0 ; 2011 Hakim Benameurlaine 21
Ne pas mettre de RR de type HINFO. Les informations associées donnant des informations sur la machine sur laquelle tourne le DNS, on peut plus facilement trouver les failles de sécurité. 1.9 OUTILS 1.9.1 rndc 2011 Hakim Benameurlaine 22
2011 Hakim Benameurlaine 23
1.9.2 nslookup 2011 Hakim Benameurlaine 24
1.9.3 host 1.9.4 dig 2011 Hakim Benameurlaine 25