DHCP-4.2.3

Introduction à DHCP

Le paquet DHCP contient le client et le serveur DHCP. dhclient (le client) est utile pour connecter votre ordinateur à un réseau utilisant DHCP pour attribuer des adresses réseau. dhcpd (le serveur) est utile pour affecter des adresses réseau sur votre réseau privé.

Ce paquet est connu pour se construire et fonctionner correctement sur une plateforme LFS-7.0.

Informations sur le paquet

Téléchargements supplémentaires

Dépendances de DHCP

Requises

Net-tools-1.60 est requis lors de l'exécution par dhclient si vous n'utilisez pas le correctif iproute2.

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/dhcp

Configuration du noyau

Vous devez avoir compilé en dur le support de Packet Socket (Networking Support ⇒ Networking Options ⇒ Packet Socket). Si vous n'avez pas compilé en dur le support d'IPv6 (Networking Support ⇒ Networking Options ⇒ The IPv6 Protocol), vous utilisez le correctif missing_ipv6.

Installation de DHCP

Si vous n'avez pas compilé en dur dans le noyau le support d'IPV6, appliquez le correctif missing_patch

patch -Np1 -i ../dhcp-4.2.3-missing_ipv6-1.patch

Si vous n'installez que le client, appliquez le correctif iproute2 sauf si vous prévoyez d'installer net-tools et si vous ne souhaitez utiliser que le client :

patch -Np1 -i ../dhcp-4.2.3-iproute2-1.patch

Installez DHCP en lançant les commandes suivantes :

sed -i 's%\(^sbindir =\).*%\1 @prefix@@sbindir@%' server/Makefile.in &&
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
 --sbindir=/sbin \
  --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \
   --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \
    --with-cli-lease-file=/var/state/dhclient.leases \
     --with-cli6-lease-file=/var/state/dhclient6.leases  &&
sed -i 's/-Werror//' {client,common,dst,omapip,relay,server,tests}/Makefile

Si vous ne souhaitez construire que le serveur, entrez :

sed -i 's/ client//' Makefile

Si vous ne souhaitez construire que le client, entrez :

sed -i 's/ dhcpctl relay server//' Makefile

Construisez la/les variante(s) choisie(s) avec :

make

Pour tester les résultats, lancez : make check

Maintenant, en tant qu'utilisateur root :

make install

Le /etc/dhcpd.conf (serveur) et /etc/dhclient.conf (client) fournis sont des exemples valant pour des systèmes BSD spécifiques. Il est peu probable qu'ils s'adaptent à vos besoins, mais vous pourriez souhaiter les lire pour pour récupérer des idées avant de les effacer ou de les déplacer vers un autre endroit.

Maintenant, créez le/les répertoire(s) pour les interfaces.

Pour le serveur :

mkdir -pv /var/state/dhcp

Pour le client :

mkdir -pv /var/state

Explication des commandes

sed -i 's%\(^sbindir =\).*%\1 @prefix@@sbindir@%' server/Makefile.in Cette commande déplace le programme dhcp vers /usr/sbin au lieu de /sbin car il est inutile pendant que le serveur démarre.

--sbindir=/sbin Déplace le programme dhclient vers /sbin au lieu de /usr/sbin pour qu'il soit disponible au moment du démarrage, par exemple si /usr sera un montage nfs.

--with-*-lease-files=... Par défaut, les fichiers de lease (interfaces) vont dans /var/db, ce qui est un anachronisme.

sed -i 's/-Werror//' {client,common,...}/Makefile - les Makefiles de ce paquet ajoutent -Werror à CFLAGS. Sur les versions récentes de gcc davantage d'éléments, en particulier des variables inutiles, créent des avertissements. Le drapeau -Werror fait casser la construction par les avertissements, donc nous le supprimons là où il le faut.

sed -i 's/ something//' Makefile - ceci arrête la construction à l'entrée dans le/les répertoire(s) nommé(s) ici.

rm -v /usr/lib/lib{dhcpctl,dst,omapi}.a - il n'y a aucun moyen facile d'empêcher l'installation de ces bibliothèques statiques. Mais on ne s'en sert que lors de la construction du paquet. libdhcpctl.a n'est installé que si vous construisez le serveur.

Configuration de DHCP

Fichiers de configuration

/etc/dhclient.conf et /etc/dhcpd.conf

Informations de configuration

Vous pouvez trouver des informations sur la configuring du client DHCP au chapitre Chapitre 13, Se connecter à un réseau.

Remarquez que vous n'avez besoin du serveur DHCP que si voulez gérer des adresses LAN sur votre réseau. Le client DHCP n'a pas besoin que ce script soit utilisé. Remarquez aussi que ce script est codé pour l'interface eth1, ce qui peut se changer selon votre configuration matérielle.

Installez le script de démarrage /etc/rc.d/init.d/dhcp inclu dans le paquet blfs-bootscripts-20111226.

make install-dhcp

Le fichier lease doit exister au démarrage. La commande suivante satisfera cette exigence :

touch /var/state/dhcp/dhcpd.leases

Les commandes suivantes créeront un fichier de configuration de base d'un serveur DHCP. Ce sont plusieurs options que vous pourriez vouloir ajouter (des informations passées au client DHCP) et ils sont traités dans les pages de man de dhcp.conf.

cat > /etc/dhcpd.conf << "EOF"
default-lease-time 72000;
max-lease-time 144000;


subnet <192.168.5.0> netmask <255.255.255.0> {
  range <192.168.5.10> <192.168.5.240>;
  option broadcast-address <192.168.5.255>;
  option routers <192.168.5.1>;
}
EOF

Vous devriez modifier toutes les adresses pour correspondre à votre votre contexte.

Contenu

Programmes installés: dhcpd, dhcrelay, dhclient, dhclient-script, et omshell
Bibliothèques installées: libbdhcpctl.a, libdst.a, libomapi.a
Répertoires installés: /var/state/dhcp, /usr/include/omapip, et /usr/include/isi-dhcp

Descriptions courtes

dhclient

est l'implémentation du client DHCP.

dhclient-script

est utilisé par dhclient pour (re)configurer les interfaces. Il peut faire des modifications supplémentaires en appelant un dhclient-{entry,exit}-hooks personnalisé.

dhcpd

implémente les requêtes Dynamic Host Configuration Protocol (DHCP, protocole de configuration d'hôte dynamique) et Internet Bootstrap Protocol (BOOTP) pour les adresses réseaux.

dhcrelay

offre un moyen d'accepter des requêtes DHCP et BOOTP sur un sous-réseau sans serveur DHCP et les relayer vers le serveur DHCP d'un autre sous-réseau.

omshell

fournit une façon interactive de se connecter, de chercher et éventuellement de modifier, l'état du serveur ISC DHCP via OMAPI Object Management API, 2l'API de gestion des objets).

Last updated on 2011-12-01 06:09:32 +0100