Les clients DHCP

Accueil Protocole DHCP Serveur DHCP Les clients DHCP Analyse de trames luxe du luxe

Configuration des clients.

Vous devez aller dans la configuration TCP/IP, enlever tout ce qu'il y a concernant l'IP, le masque de sous réseau, DNS, passerelle et juste dire que vous voulez une configuration dynamique (DHCP). Relancez vos services réseaux, la méthode la plus simple et la plus bestiale étant le "reboot", et voilà. Une fois le système remonté, vous devez avoir hérité d'une configuration automatique.

Tout pour contrôler, réparer etc.

Dans cette partie nous verrons, suivant le système employé, 

quels sont les outils pour contrôler l'état du client DHCP.

Je demande aux utilisateurs de  Be/OS, de MAC/OS et de tous ceux que j'oublie, de bien vouloir m'excuser de ne pas leur apporter mon soutien. J'ai déjà dans mon petit bureau (4 M2) trois PC dont un sur lequel sont installés trois systèmes, je n'ai plus de place...


Windows 95/98.

Configuration.

Par le panneau de configuration, icône "réseau", cliquez sur "TCP/IP -> <votre carte réseau>. L'adresse IP doit être configurée dynamiquement, c'est d'ailleurs le choix par défaut à l'installation.

Vérification.

Si vous avez un bail en cours de validité, la commande "winipcfg" vous affiche les choses suivantes:

ATTENTION! Windows 95 et 98 installent également le client PPP dont nous n'avons rien à faire... Ce client apparaît également dans la liste des interfaces réseau. 

Vérifiez bien que vous pointez sur votre carte Ethernet et pas sur le client PPP...

Si vous cliquez sur le bouton "Plus d'info>>":

Ici, c'est le bouton "Renouveler" qui sera votre seul secours en cas de problèmes.

Notez que les rubriques "Bail obtenu" et "Expiration du bail" contiennent des valeurs calculées par votre machine. Le serveur DHCP ne donne que la durée.


Windows NT4/2000/XP.

La configuration.

La configuration se fait dans le panneau de configuration, icône "réseau", onglet "protocoles", puis "propriétés" de TCP/IP. Là, vous avez indiqué que la carte doit recevoir une adresse IP dynamiquement.

Vérification.

Tapez dans une console, la commande "ipconfig"

Votre adresse doit être affichée. Si vous voulez tous les détails, utilisez la commande "ipconfig /all":

La commande "ipconfig" permet également:

  • De résilier le bail: "ipconfig /release"

  • De renouveler le bail: "ipconfig /renew"

C'est cette commande qui est à utiliser pour essayer de récupérer une adresse IP lorsque vous avez des problèmes.

Notes.

  • Les rubriques "Bail obtenu" et "Expiration du bail" contiennent des valeurs calculées par votre machine. Le serveur DHCP ne donne que la durée.

  • La commande en mode graphique "winipcfg" n'existe pas nativement sous Windows NT  mais vous pouvez la récupérer dans le kit de ressources techniques (téléchargeable sur le site MS en cherchant bien :-).
    N'essayez pas d'utiliser celle de Windows 95/98, les dll winsock32 utilisées ici ne sont pas compatibles.


Linux.

La configuration.

Avec cet OS c'est beaucoup plus compliqué, parce qu'il y a beaucoup plus de configurations possibles.

La configuration utilisée dans l'exposé est  la suivante:

  • Un portable Compaq équipé d'une carte réseau D-LINK PCMCIA
    • MANDRAKE 8.2
    • Eth0  et configurée avec  DHClient.

Notez que DHClient n'est pas le seul client possible. Vous pouvez parfaitement le remplacer par PUMP, DHCPXD ou par DHCPCD. Tous ces clients sont disponibles dans la distribution Mandrake, qui installe d'ailleurs DHCPCD par défaut, et non pas celui que j'utilise.

  • DHCPCD semble avoir la préférence du distributeur. Je n'ai jamais rencontré de problèmes avec, mais je ne l'utilise normalement pas pour la raison suivante: Son paramétrage ne se fait que par la ligne de commande, ce qui oblige à aller modifier des scripts pas toujours faciles à trouver si l'on veut par exemple utiliser son propre DNS à la place de celui proposé dans le bail.
  • PUMP Fonctionne également sans problèmes, il dispose d'un fichier de configuration /etc/pump.conf dans le quel on peut par exemple spécifier très simplement que l'on ne veut pas modifier le paramétrage du DNS avec l'information récupérée par DHCP. (Le ou les DNS sont inscrits dans le fichier /etc/resolv.conf).
  • Je n'ai pas vraiment étudié DHCPXD qui fonctionne lui aussi sans difficultés. Il dispose d'un répertoire /etc/dhcpxd dans lequel vous trouverez quelques fichiers qui vous donneront toutes les indications sur le bail en cours.
  • DHCLIENT a ma préférence. Il est écrit par ISC (les auteurs de BIND le fameux DNS et DHCPD lque nous utilisons ici, c'est dire qu'ils savent de quoi ils parlent :). Ce client cumule à mon sens tous les avantages:
    • Un fichier de configuration /etc/dhclient.conf, sans doute encore plus performant que celui de PUMP. Notez que ce fichier n'existe pas dans la distribution Mandrake, il vous faudra éventuellement le créer si vous ne voulez pas vous contenter du fonctionnement par défaut.
    • Des scripts optionnels exécutés automatiquement avant l'obtention du bail et après l'obtention du bail, avec à disposition des variables contenant toutes les informations recueillies par le client auprès du serveur. Très pratique par exemple pour vous envoyer par mail l'adresse courante de votre machine si celle-ci change; dans le cas par exemple où vous avez besoin de vous y connecter à distance par telnet ou ssh.
    • Il tient un historique des baux obtenus dans le fichier /var/lib/dhcp/dhclient.leases

    Son seul inconvénient est sa richesse. Il n'est pas le plus facile à mettre en oeuvre.

Vérifiez l'état de votre connexion.

Dans /etc/sysconfig/network-scripts, il y a un fichier intitulé : ifcfg-eth0. Il doit contenir au moins ces lignes :

DEVICE="eth0"
BOOTPROTO="dhcp"
IPADDR=""
NETMASK=""
ONBOOT="yes"

C'est assez parlant pour ne pas nécessiter d'explications particulières.

La commande "ifconfig eth0" devrait vous donner quelque chose comme ceci :

Si rien n'apparaît, c'est que votre interface n'est pas activée. Essayez alors ifup eth0 :

Cette commande affiche l'état de Eth0, mais elle ne donne pas toutes les informations que l'on obtient sous Windows avec winipcfg ou ipconfig. Si vous voulez tout savoir, il faut aller dans le répertoire "/var/lib/dhcp" et regarder le fichier dhclient.leases. Celui-ci contient l'historique des dialogues DHCP :

lease {
  interface "eth0";
  fixed-address 192.168.0.8;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.253;
  option dhcp-lease-time 3600;
  option dhcp-message-type 5;
  option domain-name-servers 192.168.0.253;
  option dhcp-server-identifier 192.168.0.253;
  option domain-name "maison.mrs";
  renew 2 2002/12/10 08:49:42;
  rebind 2 2002/12/10 09:14:05;
  expire 2 2002/12/10 09:21:35;}

Notez que ce fichier peut être beaucoup plus long. Cherchez dedans le dernier bail obtenu. Constatez que vous avez bien la trace de toutes les informations que notre serveur DHCP est capable d'envoyer à ses clients.

Particularités du client DHClient.

Grâce aux informations conservées dans ce fichier dhclient.leases, ce client adopte un comportement un peu particulier, que l'on ne retrouve pas dans celui de Microsoft, par exemple.

Lorsqu'un hôte a obtenu un premier bail de la part du DHCP, l'adresse du serveur DHCP est conservée et, même après extinction et redémarrage de l'hôte au bout d'un temps bien supérieur à la durée de son bail, le client commencera par envoyer directement un DHCP request au serveur qu'il connaît. Cette particularité peut dérouter lorsque l'on espionne les dialogues DHCP sur le réseau.