11.07.2015 Views

TP n˚2 - DHCP/DNS - LIFL

TP n˚2 - DHCP/DNS - LIFL

TP n˚2 - DHCP/DNS - LIFL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>TP</strong> n˚2 - <strong>DHCP</strong>/<strong>DNS</strong>Services réseauLicence Professionnelle Réseauxet TélécommunicationsM. Hauspie2008-2009CORRECTIONPour ce <strong>TP</strong>, nous allons configurer un serveur <strong>DHCP</strong> afin qu’il remplisse trois fonctions• Attribuer des IP automatiquement ;• Mettre à jour le serveur <strong>DNS</strong> configuré lors du <strong>TP</strong> n˚1 ;• Permettre de booter une machine vierge sur l’installeur debian.Exercice 1 : Configuration réseau de la machine virtuelleAvant de commencer, nous allons devoir modifier la configuration de la machine virtuelle. Actuellement, la carte réseaude la machine virtuelle est configurée de façon à ce qu’elle demande son adresse IP à un serveur <strong>DHCP</strong>. Comme nousvoulons être serveur <strong>DHCP</strong>, nous allons configurer l’adresse IP de manière statique.Cette modification nous permet également d’être certain de l’adresse qu’aura la machine.Sous debian, la configuration des cartes réseaux est contenue dans le fichier /etc/network/interfacesOuvrez ce fichier est recherchez la section qui concerne la carte réseau (interface eth0).Vous devriez trouver la ligne suivante :iface eth0 inet dhcpCette ligne précise que la carte eth0 doit obtenir une adresse de type internet par dhcpQ 1. Remplacez cette ligne par :iface eth0 inet staticaddress 192.168.119.131 # changer l’IP par celle que vmware vous attribuenetmask 255.255.255.0gateway 192.168.119.2 # regarder avec route -n la passerelleCeci permet de configurer la carte eth0 avec l’adresse IP 192.168.119.131 et de préciser au système que le routeur pardéfaut est 192.168.119.2 (c’est ce qui permettra à la machine virtuelle d’accéder à internet).Réinitialisez maintenant la carte réseau à l’aide des commandes :$ ifdown eth0$ ifup eth0ifdown permet d’arreter la carte réseau et ifup de la redémarrer avec les nouveaux paramètres. Vérifiez la configurationà l’aide de la commande ifconfig. Vous devriez obtenir quelque chose qui ressemble à :eth0 Link encap:Ethernet HWaddr 00:19:D2:4D:9B:BBinet addr:192.168.119.131 Bcast:192.168.119.255 Mask:255.255.255.0inet6 addr: fe80::219:d2ff:fe4d:9bbb/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:836 errors:9 dropped:218 overruns:0 frame:0TX packets:737 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:10171538 (9.7 MiB) TX bytes:3098852 (2.9 MiB)Interrupt:17 Base address:0x4000 Memory:efdff000-efdfffffNous allons maintenant changer les paramètres de résolution dns. Nous voulons que la machine virtuelle n’utilise plusvmware comme <strong>DNS</strong> mais le <strong>DNS</strong> que vous avez configuré. Pour cela, plusieurs étapes :Q 2. Remplacez le contenu du fichier /etc/resolv.conf par ce qui suit :search licence-rt.orgnameserver 192.168.119.131 # indiquez toujours la même IP que précédemmentCeci permettra au système d’interroger directement votre serveur dns.Q 3. Modifiez le fichier named.conf de façon à autoriser les requêtes récursives depuis les machines du réseau local(192.168.119.0/24)Q 4. Afin de répondre aux requêtes récursives correctement, ajoutez les lignes suivantes dans la section options du fichiernamed.confforward only;forwarders {192.168.119.2;};Ces lignes vont permettre à votre <strong>DNS</strong> d’interroger le <strong>DNS</strong> de vmware pour les requêtes récursives.Q 5. Pour vérifier que tout fonctionne bien, exécutez la commande :


$ ping www.lifl.frSi tout ce passe bien le résultat devrait être quelque chose comme :PING louis.lifl.fr (134.206.11.101) 56(84) bytes of data.64 bytes from louis.lifl.fr (134.206.11.101): icmp_seq=1 ttl=241 time=78.3 ms64 bytes from louis.lifl.fr (134.206.11.101): icmp_seq=2 ttl=241 time=78.7 ms64 bytes from louis.lifl.fr (134.206.11.101): icmp_seq=3 ttl=241 time=81.7 msOn peut maintenant commencer les choses sérieuses.Exercice 2 : Configuration du serveur <strong>DHCP</strong>Q 1. Installez le paquetage dhcp3-serverQ 2. Modifiez le fichier /etc/dhcp3/dhcpd.conf et définissez le réseau 192.168.119.0/24. Le serveur dhcp devra attribuerdes adresses allant de 192.168.119.10 à 192.168.119.30 et leur fournir les paramètres suivants :• Masque de sous réseau : 255.255.255.0 ;• Routeur : 192.168.119.2 ;• Serveur <strong>DNS</strong> : 192.168.119.131 ;• Domaine : licence-rt.org.Attention N’oubliez pas la directive server-identifier et authoritative, elle seront utiles pour plus tard.Les commandes cat /var/log/daemon.log et cat /var/log/syslog vous afficheront les messages d’erreur (ou defonctionnement) du serveur.Q 3. Pour tester votre serveur dhcp, nous allons lancer une deuxième machine virtuelle et observer le comportement duserveur dhcp.Dans la machine virtuelle, tapez la commande suivante :$ tail -f /var/log/daemon.log & tail -f /var/log/syslogDans la machine physique, tapez la commande suivante :$ vmware-rt Lenny &Une deuxième machine virtuelle démarre. Le login est toujours root et le mot de passe root.Observez la commande de la première machine virtuelle (celle sur laquelle tourne le serveur <strong>DHCP</strong>). Vous devriez voirapparaître la requête de la seconde machine virtuelle sous une forme ressemblant à :Sep 25 20:47:40 lprt dhcpd: <strong>DHCP</strong>DISCOVER from 00:19:d2:4d:9b:bb via eth0Sep 25 20:47:41 lprt dhcpd: <strong>DHCP</strong>OFFER on 192.168.119.10 to 00:19:d2:4d:9b:bb via eth0Sep 25 20:47:41 lprt dhcpd: <strong>DHCP</strong>REQUEST for 192.168.119.10 from 00:19:d2:4d:9b:bb via eth0Sep 25 20:47:41 lprt dhcpd: <strong>DHCP</strong>ACK on 192.168.119.10 to 00:19:d2:4d:9b:bb via eth0Q 4. Dans la deuxième machine virtuelle, lancez un terminal et tapez la commande ifconfig qui devrait vous confirmerl’adresse obtenue grâce à votre serveur dhcp. Si vous avez besoin de recommencer la requête <strong>DHCP</strong>, vous pouvez le faireen arrêtant et en redémarrant la carte réseau grâce à :$ ifdown eth0$ ifup eth0Vous pouvez également vérifier que les paramètres de <strong>DNS</strong> et de routeur sont corrects à l’aide des commandes :$ cat /etc/resolv.conf$ route -nExercice 3 : Vers une mise à jour automatique du <strong>DNS</strong>, configuration de rndcQ 1. A l’aide de la commande rndc-confgen, créez le fichier /etc/bind/rndc.conf et modifiez le fichier named.conf enconséquence.Q 2. Vérifiez le bon fonctionnement de rndc par la commande$ rndc statusVous devriez normalement obtenir le statut du serveur <strong>DNS</strong>.


Exercice 4 : Mise à jour automatique de <strong>DNS</strong>Q 1. Dans la deuxième machine virtuelle, modifiez le fichier /etc/dhcp3/dhclient.conf et insérez la ligne :send host-name "lenny";Cette modification forcera le client <strong>DNS</strong> à envoyer le nom de la machine lors d’une requête <strong>DNS</strong> ce qui permettra unemise à jour automatique ∗ .Q 2. Modifiez le fichier dhcpd.conf et le fichier named.conf de façon à ce que le serveur <strong>DHCP</strong> mette à jour automatiquementle serveur <strong>DNS</strong>.Attention Il faut s’assurer que le serveur dns a les droits d’accès en écriture aux fichiers de descriptions de zone.Pour cela, exécutez la commande :$ chown root.bind /var/bind -R$ chmod g+r+w /var/bind -RCette séquence de commande suppose que vos fichiers de zone se trouvent dans le répertoire /var/bind commedemandé dans le <strong>TP</strong> précédent † .Q 3. Vérifiez le fonctionnement en observant le contenu de /var/log/daemon.log tout en reconfigurant la carte réseau dela deuxième machine virtuelle (tail -f /var/log/daemon.log sur la première machine virtuelle, ifdown eth0 ; ifupeth0 sur la deuxième machine virtuelle).Le résultat devrait ressembler à :dhcpd: <strong>DHCP</strong>DISCOVER from 00:19:d2:4d:9b:bb via eth0dhcpd: <strong>DHCP</strong>OFFER on 192.168.119.10 to 00:19:d2:4d:9b:bb (kwak) via eth0named[4338]: client 192.168.119.131#47348: updating zone ’licence-rt.org/IN’: adding an RR at ’kwak.licencenamed[4338]:client 192.168.119.131#47348: updating zone ’licence-rt.org/IN’: adding an RR at ’kwak.licencedhcpd:Added new forward map from kwak.licence-rt.org to 192.168.119.10named[4338]: client 192.168.119.131#47348: updating zone ’119.168.192.in-addr.arpa/IN’: deleting rrset at ’1named[4338]: client 192.168.119.131#47348: updating zone ’119.168.192.in-addr.arpa/IN’: adding an RR at ’10.dhcpd: added reverse map from 10.119.168.192.in-addr.arpa. to kwak.licence-rt.orgdhcpd: <strong>DHCP</strong>REQUEST for 192.168.119.110 (192.168.119.131) from 00:19:d2:4d:9b:bb (kwak) via eth0dhcpd: <strong>DHCP</strong>ACK on 192.168.119.110 to 00:19:d2:4d:9b:bb (kwak) via eth0Vous pouvez maintenant couper la deuxième machine virtuelle.Exercice 5 : Boot réseau grâce à <strong>DHCP</strong>Le but est maintenant de configurer votre serveur <strong>DHCP</strong> pour qu’une machine vierge puisse lancer l’installation de ladebian grâce à votre machine virtuelle en bootant sur le réseau.Q 1. Lisez la documentation à l’adresse : http ://www.debian.org/releases/stable/i386/ch04s06.html.enNous allons utiliser la méthode PXE booting.Q 2. Téléchargez le nécessaire à l’installation réseau grâce à la commande suivante (à exécuter dans la machine virtuelle,dans le répertoire HOME du root, tapez cd avant si vous n’êtes pas sur d’y être)$ wget http://ftp.fr.debian.org/debian/dists/lenny/main/installer-i386/current/images \/netboot/netboot.tar.gzQ 3. Installez le paquetage tftpd-hpa et modifiez le fichier /etc/default/tftpd-hpa de la façon suivante :#Defaults for tftpd-hpaRUN_DAEMON="yes"OPTIONS="-l -s /var/lib/tftpboot"Q 4. S’il n’existe pas déjà, créez le répertoire /var/lib/tftpboot et placez vous dans ce répertoire (cd /var/lib/tftpbootQ 5. Décompressez le fichier netboot.tar.gz à l’aide de la commande :$ tar zxvf ~/netboot.tar.gzQ 6. Modifiez le fichier dhcpd.conf de façon à demander à un client qui boot par le réseau de télécharger le fichierpxelinux.0 sur le serveur 192.168.119.131Q 7. Démarrez une nouvelle machine virtuelle grâce à la commande :$ vmware-rt InstallDès que vmware démarre, appuyez sur F2 pour accéder au paramètres de boot et faites booter la machine virtuellepar le réseau. Si tout ce passe bien, l’installation de debian doit commencer. Félicitations, le <strong>TP</strong> est terminé !∗ Notez que sous Windows, le client <strong>DHCP</strong> envoi par défaut le nom de la machine† Pour l’explication de cette commande, voire le cours de système unix/linux


CorrectionFichier named.confOn ne montre ici que les ajouts ou modifications par rapport au fichier du tp n˚11 /*2 ...3 */45 // Première modification, la définition de la clé servant à authentifier les6 // connexions sur le port de contrôle du serveur <strong>DNS</strong>7 // Les deux sections suivantes sont générée grâce à la commande8 // rndc-confgen > /etc/bind/rndc.conf910 key "rndc-key" {11 algorithm hmac-md5;12 secret "rl5PKn38zEkMpL08A6KxDg==";13 };1415 controls {16 inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };17 // On rajoute cette ligne à la main pour autoriser également la18 // connexion sur l’adresse de la carte réseau mais uniquement pour la19 // machine qui héberge le serveur. Si le serveur <strong>DHCP</strong> était hébergé sur20 // une autre machine, son adresse IP serait précisée dans le premier21 // jeu d’accolades (après le allow)22 inet 192.168.119.131 port 953 allow { 192.168.119.131; } keys { "rndc-key"; };23 };242526 options {27 /*28 ...29 */3031 // On ajoute ici la recursion depuis le réseau local pour servir les32 // machines du réseau33 allow-recursion { machine-locale; reseau-local;};3435 // On ajoute le <strong>DNS</strong> simulé par la machine virtuelle dans les forwarders36 forward only; // on retransmet la requète et si on a pas de réponse on37 // n’essaye pas de répondre38 forwarders { 192.168.119.2; }39 };4041 /* Définition de la zone licence-rt.org42 C’est une zone pour laquelle le serveur est maitre43 */44 zone "licence-rt.org" {45 type master;46 file "licence-rt.org";47 // On ajoute l’autorisation de mise à jour utilisant la clé commune au dns48 // et au dhcp49 allow-update {key "rndc-key";};50 };5152 /* Définition de la zone de résolution inverse pour le réseau 192.168.119.0/2453 Adresse du réseau à l’envers suivie de in-addr.arpa (norme dns, cf. rfc)54 */55 zone "119.168.192.in-addr.arpa" {56 type master; // serveur maitre pour cette zone57 file "licence-rt.org.rev"; // fichier de description de résolution inverse58 allow-query {reseau-local;}; // on autorise l’interrogation de cette zone59 // que depuis le réseau local60


61 // On ajoute l’autorisation de mise à jour utilisant la clé commune au dns62 // et au dhcp. Il faut bien penser à renseigner aussi cette zone inverse !63 allow-update {key "rndc-key";};64 };65Fichier rndc.conf1 # Start of rndc.conf2 # Ce fichier est complétement généré par rndc-confgen3 # rien de particulier à dire4 key "rndc-key" {5 algorithm hmac-md5;6 secret "rl5PKn38zEkMpL08A6KxDg==";7 };89 options {10 default-key "rndc-key";11 default-server 127.0.0.1;12 default-port 953;13 };14 # End of rndc.confFichier dhcpd.conf1 # Ce fichier de configuration suppose que l’adresse IP de votre machine2 # virtuelle est 192.168.119.131 et donc que le réseau vmware est3 # 192.168.119.0/24. Modifiez tous les paramètres IP et réseau partout où cela4 # est nécessaire si votre réseau vmware est différent5 # Rappel: si le réseau vmware est 192.168.119.0/24, alors:6 # - 192.168.119.1 représente votre machine physique7 # - 192.168.119.2 représente l’émulation <strong>DNS</strong> et routeur de vmware8910 # Identifiant du serveur11 # C’est cet identifiant qui va être utilisé pour12 # repérer les modifications dans les fichiers de zone du <strong>DNS</strong>13 server-identifier 192.168.119.131;1415 # Mise à jour automatique du serveur <strong>DNS</strong>16 ddns-update-style interim;1718 # Le serveur fait authorité19 authoritative;2021 # La définition de la clé permettant de se connecter sur le port de contrôle du22 # serveur <strong>DNS</strong>23 # Cette clé est la même que celle du fichier named.conf24 key "rndc-key" {25 algorithm hmac-md5;26 secret "rl5PKn38zEkMpL08A6KxDg==";27 };2829 # On défini le serveur <strong>DNS</strong> et la clé à utiliser pour le mettre à jour30 # pour la zone licence-rt.org31 zone licence-rt.org. {32 primary 192.168.119.131;33 key "rndc-key";34 }3536 # Idem pour la zone inverse37 zone 100.168.192.in-addr.arpa. {38 primary 192.168.119.131;39 key "rndc-key";40 }4142


43 # Définition du réseau déservi par ce serveur <strong>DHCP</strong>44 subnet 192.168.119.0 netmask 255.255.255.0 {45 # La passerelle par défaut (routeur)46 option routers 192.168.119.2;4748 # Le masque du réseau49 option subnet-mask 255.255.255.0;5051 # Les paramêtres <strong>DNS</strong>52 # Nom de domaine53 option domain-name "licence-rt.org";5455 # IP du serveur <strong>DNS</strong>56 option domain-name-servers 192.168.119.131;5758 # On définit une plage qui sera attribuée par le serveur <strong>DHCP</strong>59 # de 192.168.119.10 à 192.168.119.3060 range dynamic-bootp 192.168.119.10 192.168.119.30;6162 # Ces variables permettent de communiquer le nom du fichier63 # et l’adresse IP du serveur sur lequel aller le chercher dans le cas d’un boot réseau64 filename "pxelinux.0";65 next-server 192.168.119.131;66 }

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!