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
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.