Linux Networking HOWTO | ||
---|---|---|
Prev | Chapter 8. DHCP et DHCPD | Next |
Récupérez DHCPD s'il n'est pas déjà installé sur votre machine.Télécharger DHCPD
Note Brève: SOYEZ CERTAINS D'AVOIR L'OPTION MULTICAST INSTALLÉE DANS LE NOYAU.
Si vous n'avez pas de distribution binaire pour votre version de linux, vous devrez compiler DHCPD.
Éditez /etc/rc.d/rc.local pour prendre en compte l'ajout d'une route vers 255.255.255.255.
Extrait du fichier README de DHCPd :
Afin que dhcpd fonctionne correctement avec des clients difficiles (par exemple Windows 95), il doit être en mesure d'envoyer des paquets vers l'adresse 255.255.255.255. Malheureusement, Linux insiste pour changer l'adresse 255.255.255.255 en l'adresse de diffusion du sous-réseau local (ici, 192.5.5.223). Il en résulte une violation du protocole DHCP, et alors que de nombreux clients DHCP ne s'aperçoive pas de ce problème, d'autres (par ex, tous les clients DHCP Microsoft) le font. Les clients ayant ce problème apparaîtront comme ne voyant pas les messages DHCPOFFER venant du serveur.
Sous le compte root, tapez ce qui suit :
route add -host 255.255.255.255 dev eth0
Si le message suivant apparait :
255.255.255.255: Unknown host
Essayez d'ajouter la ligne suivante à votre fichier /etc/hosts :
255.255.255.255 dhcp
Puis réessayez :
route add -host dhcp dev eth0
Maintenant vous devez configurer DHCPd. Pour cela vous devez créer ou éditer le fichier /etc/dhcpd.conf. Il existe une interface graphique pour la configuration de dhcpd sous linuxconf. On configure et règle ainsi DHCPD très facilement.
Si vous voulez le configurer à la main, suivez les instructions qui suivent. Je suggère de le faire au moins une fois à la main. Cela vous aidera pour faire des diagnostiques, ce qu'une interface graphique ne peut vous offrir. Malheureusement Microsoft n'y croit pas.
Le plus facile est d'assigner des adresses IP de manière aléatoire. Ci-dessous un exemple de fichier de configuration montrant le type de réglage.
# Exemple de /etc/dhcpd.conf # (ajoutez vos commentaires ici) default-lease-time 1200; max-lease-time 9200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "mydomain.org"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.100; range 192.168.1.150 192.168.1.200; } |
Cela permet au serveur DHCP d'assigner au client une adresse IP comprise entre 192.168.1.10 et 192.168.1.100 ou bien 192.168.1.150 et 192.168.1.200.
Une adresse IP sera allouée pendant 1200 secondes si le client ne demande pas plus. Autrement l'allocation maximum permise sera 9200 secondes. Le serveur envoie les paramètres suivants au client :
Utilisez 255.255.255.0 comme masque de sous-réseau Utilisez 192.168.1.255 comme adresse de diffusion Utilisez 192.168.1.254 comme passerelle par défaut Utilisez 192.168.1.1 et 192.168.1.2 comme serveurs DNS.
Si vous spécifiez un serveur WINS pour vos clients Windows, vous devez insérer l'option suivante dans le fichier dhcpd.conf.
option netbios-name-servers 192.168.1.1;
Vous pouvez aussi assigner des adresses IP spécifiques basées sur une adresse ethernet MAC, par exemple
host haagen { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; } |
Cela assignera l'adresse IP 192.168.1.222 au client ayant une adresse ethernet MAC de 08:00:2b:4c:59:23.
Dans la plupart des cas, l'installation de DHCP ne crée pas le fichier dhcpd.leases. Dès lors, avant de démarrer le serveur, vous devez créer un fichier vide :
touch /var/state/dhcp/dhcpd.leases
Pour démarrer le serveur DHCP, tapez simplement (ou bien insérez-le dans les scripts de démarrage)
/usr/sbin/dhcpd
Cela démarre dhcpd sur le dispositif eth0. Si vous devez le démarrer sur un autre dispositif, tapez simplement
/usr/sbin/dhcpd eth1
Si vous voulez tester une configuration bizarre vous pouvez démarrer dhcpd en mode débogage. En tapant la commande suivante, vous pourrez voir exactement ce qui se passe sur le serveur.
/usr/sbin/dhcpd -d -f
Démarrez un client et jetez un coup d'oeil sur la console du serveur. Vous verrez apparaître un grand nombre de messages de débogage.
C'est fini