DHCP-4.4.2

Introduction à ISC DHCP

Le paquet ISC 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é.

This package is known to build and work properly using an LFS-10.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) :

  • Téléchargement (FTP) : ftp://ftp.isc.org/isc/dhcp/4.4.2/dhcp-4.4.2.tar.gz

  • Somme de contrôle MD5 du téléchargement : 2afdaf8498dc1edaf3012efdd589b3e1

  • Taille du téléchargement : 9.4 Mo

  • Estimation de l'espace disque requis : 115 Mo

  • Estimation du temps de construction : 0.4 SBU

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

Configuration du noyau

Vous devez avoir la prise en charge de Packet Socket. Celle d'IPv6 est facultative.

[*] Networking support --->        [CONFIG_NET]
      Networking options --->
        <*> Packet socket          [CONFIG_PACKET]
        <*> The IPv6 Protocol ---> [CONFIG_IPV6]

Installation de ISC DHCP

Tout d'abord, corrigez un problème de construction avec GCC 10 et supérieur :

sed -i '/o.*dhcp_type/d' server/mdb.c &&
sed -r '/u.*(local|remote)_port/d'    \
    -i client/dhclient.c              \
       relay/dhcrelay.c
[Note]

Note

Ce paquet ne supporte pas la compilation parallèle.

[Note]

Note

Faite attention avec les instructions qui suivent. Les guillemets simples et doubles sont importants car les variables définies sont utilisées mot pour mot dans le code.

Installez ISC DHCP en lançant les commandes suivantes :

( export CFLAGS="${CFLAGS:--g -O2} -Wall -fno-strict-aliasing                 \
        -D_PATH_DHCLIENT_SCRIPT='\"/sbin/dhclient-script\"'         \
        -D_PATH_DHCPD_CONF='\"/etc/dhcp/dhcpd.conf\"'               \
        -D_PATH_DHCLIENT_CONF='\"/etc/dhcp/dhclient.conf\"'"        &&

./configure --prefix=/usr                                           \
            --sysconfdir=/etc/dhcp                                  \
            --localstatedir=/var                                    \
            --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases       \
            --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases     \
            --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \
            --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases
) &&
make -j1

Ce paquet n'est pas fourni avec une suite de tests.

Si vous ne souhaitez installer que le client ISC DHCP, lancez les commandes suivantes en tant qu'utilisateur root :

make -C client install         &&
mv -v /usr/sbin/dhclient /sbin &&
install -v -m755 client/scripts/linux /sbin/dhclient-script

Passez à la section intitulée la section intitulée « Configuration du client » pour configurer le client

Si vous ne voulez installer que le serveur ISC DHCP, lancez la commande suivante en tant qu'utilisateur root :

make -C server install

Passez à la section intitulée la section intitulée « Configuration du serveur » pour configurer le serveur.

Vous pouvez aussi installer tout le paquet, incluant le client, le serveur, le relai, les bibliothèques statiques et les en-têtes de développement, en lançant les commandes suivantes en tant qu'utilisateur root :

make install                   &&
mv -v /usr/sbin/dhclient /sbin &&
install -v -m755 client/scripts/linux /sbin/dhclient-script

Configuration d'ISC DHCP

Fichiers de configuration

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

Configuration du client

Créez un /etc/dhcp/dhclient.conf de base en lançant la commande suivante en tant qu'utilisateur root :

install -vdm755 /etc/dhcp &&
cat > /etc/dhcp/dhclient.conf << "EOF"
# Begin /etc/dhcp/dhclient.conf
#
# Basic dhclient.conf(5)

#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        netbios-name-servers, netbios-scope, interface-mtu,
        ntp-servers;
require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;

# End /etc/dhcp/dhclient.conf
EOF

Voir man 5 dhclient.conf pour des options supplémentaires.

Maintenant, créez le répertoire /var/lib/dhclient qui contiendra les baux du client DHCP en lançant la commande suivante en tant qu'utilisateur root :

install -v -dm 755 /var/lib/dhclient

Si vous voulez configurer des interfaces réseaux au démarrage en utilisant dhclient, vous devez installer l'unité /dhclient@.service incluse dans le paquet blfs-systemd-units-20210122 en lançant la commande suivante en tant qu'utilisateur root :

make install-dhclient
[Note]

Note

Assurez-vous que vous avez désactivé le service systemd-networkd ou que vous l'avez configuré pour ne pas gérer l'interface que vous voulez gérer avec dhclient.

Maintenant, vous pouvez tester si dhclient se comporte comme prévu en lançant la commande suivante en tant qu'utilisateur root :

systemctl start dhclient@eth0

Pour démarrer dhclient sur une interface spécifique au démarrage, activez l'unité systemd précédemment installée en lançant la commande suivante en tant qu'utilisateur root :

systemctl enable dhclient@eth0

Remplacez eth0 par le vrai nom de votre interface.

Configuration du serveur

Remarquez que vous n'avez du serveur DHCP que si vous voulez donner des adresses LAN sur votre réseau. Le client DHCP n'a pas besoin de serveur pour bien fonctionner.

Commencez par créer /etc/dhcp/dhcpd.conf en lançant la commande suivante en tant qu'utilisateur root :

cat > /etc/dhcp/dhcpd.conf << "EOF"
# Begin /etc/dhcp/dhcpd.conf
#
# Example dhcpd.conf(5)

# Use this to enable / disable dynamic dns updates globally.
ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

# This is a very basic subnet declaration.
subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}

# End /etc/dhcp/dhcpd.conf
EOF

Ajustez le fichier pour correspondre à vos besoins. Voir man 5 dhcpd.conf pour des options supplémentaires.

Créez maintenant le répertoire /var/lib/dhcpd qui contiendra les interfaces du serveur DHCP en lançant la commande suivante en tant qu'utilisateur root :

install -v -dm 755 /var/lib/dhcpd

Si vous voulez démarrer le serveur DHCP au démarrage, installez l'unité dhcpd.service incluse dans le paquet blfs-systemd-units-20210122 :

make install-dhcpd

Vous devrez éditer /etc/default/dhcpd pour régler l'interface sur laquelle dhcpd répondra aux requêtes DHCP.

Contenu

Programmes installés: dhclient, dhclient-script, dhcpd, dhcrelay et omshell
Bibliothèques installées: libdhcpctl.a et libomapi.a
Répertoires installés: /etc/dhcp, /usr/include/dhcpctl, /usr/include/isc-dhcp, /usr/include/omapip, /var/lib/dhclient et /var/lib/dhcpd

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 (l'API de gestion des objets)

Last updated on 2021-02-26 18:39:02 +0000