TP Installation/Configuration du service DNS sur serveur GNU/Linux Nom : Prénom : Date : Numéro : Objectifs : Installer un serveur DNS sur un PC serveur GNU/Linux (Mandriva). Visiter les principaux fichiers de configuration utiles à DNS. Utiliser le service DNS depuis un poste client GNU/Linux, ou Windows. Évoquer les aspects de sécurité liés à l'usage de DNS. Une grande partie de la formation d'un administrateur système Unix vient de l'auto-formation grâce au manuel! 1 Configuration réseau des PC de la salle TP Pour réaliser les TP d'installation des serveurs, il est souhaitable que chacun des PC utilisés ait une adresse IP fixe qui n'entre pas en conflit avec les adresse IP du réseau local d'accueil. Plusieurs solutions peuvent être envisagées, parmi lesquelles l'utilisation d'un réseau TP possédant une numérotation différente du réseau local : on peut par exemple choisir 192.168.x.0 comme adresse réseau, où x sera choisi en séance TP, pour ne pas interférer avec le réseau local existant. Pour la suite du TP, il faut le réseau sur les PC. Plusieurs techniques sont possibles, par exemple : utiliser l'outil de configuration Mandriva : drakconf, configurer directement le réseau en éditant 2 fichiers : le fichier /etc/sysconfig/network scripts/ifcfg eth0 : DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.x.y NETMASK=255.255.255.0 NETWORK=192.168.x.0 BROADCAST=192.168.x.255 ONBOOT=yes METRIC=10 le fichier /etc/sysconfig/network : HOSTNAME=tpx.tpal NISDOMAIN=tpAL NETWORKING=yes Une fois le réseau configuré, on pourra peupler le fichier /etc/hosts selon le modèle : #adresse_ip name alias 192.168.x.11 tp11.tpal tp11 192.168.x.12 tp12.tpal tp12 192.168.x.21 tp21.tpal tp21 Rq : cette étape pourrait être ignorée, mais dans ce cas il faudrait utiliser systématiquement les adresses IP des PC au lieu des nom d'hôtes. Administration Linux TP DNS v1.3 page 1/9
Au besoin, ajouter des règles de routage vers d'autres réseaux ; par exemple pour rajouter l'accès au réseau 192.168.y.0 par l'interface eth0, on peut taper la commande : route add net 192.168.y.0 netmask 255.255.255.0 eth0 Cette commande peut être ajoutée à la fin du fichier /etc/rc.local pour l'activer à chaque démarrage du PC. Pour compléter la configuration, on pourra visiter et modifier si besoin les fichiers /etc/nsswitch et /etc/host.conf Ne pas oublier de relancer le service network. Valider la configuration réseau avec les commandes ifconfig, ping, ssh 2 Installation du serveur DNS et des utilitaires (Mandriva) a - Installation Utiliser urpmq pour trouver les paquets rpm liés au service DNS (i.e. bind) Installer le paquet bind et le paquet des utilitaires bindutils avec la commande urpmi Visualiser les fichiers des paquets installés urpmq fuzzy bind urpmi bind urpmi bind utils rpmq l bind rpmq l bind utils 3 Préliminaires : interrogation d'un serveur DNS Plusieurs commandes (clients resolver) permettent l'interrogation d'un serveur de nom : host et dig (remplacement de nslookup). La suite du TP, propose une familiarisation avec ces commandes. On suppose qu'un serveur DNS existant, d'adresse IP a.b.c.d est accessible sur le réseau local. Consulter le manuel Unix sur les commandes host et dig. a - Commande host Observer et commenter la sortie des commandes suivantes (fournir a.b.c.d si besoin) : host www.free.fr [a.b.c.d] host v www.free.fr [a.b.c.d] host t ns www.free.fr [a.b.c.d] host t mx www.free.fr [a.b.c.d] host t soa www.free.fr [a.b.c.d] host a www.free.fr [a.b.c.d] Administration Linux TP DNS v1.3 page 2/9
Analyser la structure de la réponse à la commande «host v www.free.fr» : Répéter la consultation pour les noms suivants «free.fr», «fr» et «.». Administration Linux TP DNS v1.3 page 3/9
b - Commande dig Observer et commenter la sortie des commandes suivantes : dig @a.b.c.d www.free.fr dig @a.b.c.d www.free.fr ns dig @a.b.c.d www.free.fr mx dig @a.b.c.d www.free.fr soa dig @a.b.c.d www.free.fr any Répéter la consultation pour les noms suivants «free.fr», «fr» et «.». Observer les différences entre la sortie des commandes host www.free.fr et dig www.free.fr comment éviter d'avoir à taper systématiquement l'adresse IP du serveur DNS? mentionner son adresse IP dans le fichier /etc/resolv.conf Administration Linux TP DNS v1.3 page 4/9
4 Configuration d'un serveur DNS en cache local On va d'abord utiliser le serveur DNS en simple cache du (des) serveurs DNS accessible(s) sur le réseau. L'intérêt est de fournir un cache local qui évite les appels aux serveurs DNS pour la résolution «adresses IP <=> noms de domaine». a - Configuration : rndc.conf et named.conf Visualiser les manuels sur rndc.conf, rndc confgen En déduire un moyen de générer le fichier rndc.conf Renommer le fichier /etc/rndc.conf en /etc/rndc.conf.orig Créer le fichier /etc/rndc.conf en redirrigeant la sortie de la commande rndc confgen Éditer le fichier /etc/rndc.conf man rndc.conf; man rndc confgen rndc confgen > /etc/rndc.conf mv /etc/rndc.conf /etc/rndc.conf.orig rndc confgen > /etc/rndc.conf vi /etc/rndc.conf Utiliser la sortie de la commande rndc confgen pour générer le début du fichier named.conf Compléter le fichier named.conf pour ajouter des sections : options (pid file "/var/run/named/named.pid" et directory "/var/named") zone : hint pour la zone «.» (racine) et master pour «0.0.127.in addr.arpa» Contenu du fichier /etc/named.conf : key "rndc key" { controls { options { algorithm hmac md5; secret "Azc0r3PKZIq2Bly89hSOqw=="; inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc key"; pid file "/var/run/named/named.pid"; directory "/var/named"; zone "." { type hint; file "named.cache"; zone "0.0.127.in addr.arpa" { type master; file "named.0.0.127"; Administration Linux TP DNS v1.3 page 5/9
Renommer le fichier des zones racines présent dans /var/named en utilisant les informations du fichier named.conf mv /var/named/named.ca /etc/named/named.root b - lancement du serveur Vérifier l'identité sous laquelle le processus named va être lancer (piste : /etc/init.d/named ) Effectuer les changement d'attributs, si nécessaire, pour que le processus named puisse lire/écrire l'arborescence désignée dans le fichier /var/named Démarrer le serveur de noms et vérifier les messages syslog /etc/init.d/named start tail 30 /var/log/messages Utiliser la commande dig pour obtenir du serveur localhost la liste des serveurs de nom du domaine «.» Utiliser la commande dig pour obtenir du serveur localhost la liste des serveurs de nom du domaine «fr.» Rendre permanent l'usage du serveur localhost comme serveur DNS. Utiliser la commande rndc pour forcer le serveur à vider son cache mémoire dans un fichier Quel est le nom absolu du fichier généré? Visuliser le contenu du fichier dig @localhost. dig @localhost fr. fihier /etc/resolv.conf : nameserver 127.0.0.1 rndc dumpdb /var/named/named_dump.db more /var/named/named_dump.db 5 Configuration d'un serveur DNS de domaine local privé Avant de créer un domaine «privé» tpal (nom de domaine factice, afin d'éviter une collision dans l'espace de nom Internet) et d'y déclarer quelques machines, il faut vérifier que ce nom n'est pas utilisé. a - Serveur primaire Utiliser la commande dig pour obtenir du serveur localhost tous les renseignements sur le domaine «tpal», Conclusion? dig @localhost tpal Compléter le fichier named.conf pour ajouter des sections zone master : sur la zone «tpal», avec named.tpal comme nom de fichier zone ; sur la zone inverse «0.x.168.192.in addr.arpa», avec «named.0.x.168.192» comme nom de fichier zone. Administration Linux TP DNS v1.3 page 6/9
zone "tpal" { type master; file "named.tpal"; zone "0.x.168.192.in addr.arpa" { type master; file "named.0.x.168.192"; Éditer le fichier named.tpal pour ajouter les machines de la salle TP. @ IN SOA tpal.fr. root.tpal.fr. ( 2006010101 ; numéro série (annee mois jour xy) 21600 ; rafraichissement après 6h 3600 ; nouvel essai après 1h 604800 ; expiration après 7 jours 86400 ) ; TimeToLive (TTL) de 1 jour ; serveurs (primaire et secondaires ) IN NS tp11.tpal. IN NS tp12.tpal. ; échangeur de courier SMTP IN MX 0 mail.tpal.fr. ; machines du domaine localhost IN A 127.0.0.1 tp11 IN A 192.168.x.11 tp12 IN A 192.168.x.12 mail IN A 192.168.x.11 tp13 IN A 192.168.x.13 tp37 IN A 192.168.x.37 Éditer le fichier named.0.x.168.192 pour peupler la zone inverse correspondante : Administration Linux TP DNS v1.3 page 7/9
@ IN SOA tpal.fr. root.tpal.fr. ( 2006010101 ; numéro série (annee mois jour xy) 21600 ; rafraichissement après 6h 3600 ; nouvel essai après 1h 604800 ; expiration après 7 jours 86400 ) ; TimeToLive (TTL) de 1 jour ; serveurs (primaire et secondaires ) IN NS tp11.tpal. IN NS tp12.tpal. ; machines du domaine 11 IN PTR tp11.tpal. 12 IN PTR tp12.tpal. 37 IN PTR tp37.tpal. Redémarrer le serveur DNS. Configurer votre PC pour qu'il utilise votre serveur DNS Tester la zone tpal mentionner son adresse IP dans le fichier /etc/resolv.conf dig tp11.tpal host tp11 dig tpal b - Serveur secondaire Choisir un PC serveur primaire de la zone tpal. Installer votre PC en serveur secondaire : Modifier le fichier named.conf du serveur secondaire pour le déclarer esclave sur les zones «tpal», et «0.x.168.192.in addr.arpa», avec comme fichiers de zone slave/named.tpal et slave/named.0.x.168.192 zone "tpal" { type slave; file "slave/named.tpal"; zone "0.x.168.192.in addr.arpa" { type slave; file "slave/named.0.x.168.192"; Redémarrer les serveurs DNS maître et esclave Administration Linux TP DNS v1.3 page 8/9
Observer les logs sur les serveurs DNS maître et esclave Vérifier le contenu des fichiers de zone sur le serveur esclave Utiliser le serveur esclave avec la commande dig Administration Linux TP DNS v1.3 page 9/9