dhcpcd-9.4.1

Introduction à dhcpcd

dhcpcd est une implémentation du client DHCP spécifié dans RFC2131. Un client DHCP sert à connecter votre ordinateur à un réseau qui utilise DHCP pour affecter les adresses réseau. dhcpcd vise à être un client très complet mais toujours très léger.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Informations sur le paquet

  • Téléchargement (HTTP) : https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.4.1.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : 2b2f46648bc96979f96127f0e0e07d9b

  • Taille du téléchargement : 251 Ko

  • Estimation de l'espace disque requis : 3.6 Mo (avec les tests)

  • Estimation du temps de construction : moins de 0.1 SBU (avec les tests)

Dépendances de dhcpcd

Facultatives

LLVM-14.0.6 (avec Clang), ntp-4.2.8p15, chronyd et ypbind

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd

Installation de dhcpcd

Les versions récentes de dhcpcd implémentent la séparation de privilèges. Des étapes d'installation supplémentaires sont nécessaires pour configurer l'environnement approprié, elles sont effectuées en exécutant les commandes suivantes en tant qu'utilisateur root :

install  -v -m700 -d /var/lib/dhcpcd &&

groupadd -g 52 dhcpcd        &&
useradd  -c 'dhcpcd PrivSep' \
         -d /var/lib/dhcpcd  \
         -g dhcpcd           \
         -s /bin/false     \
         -u 52 dhcpcd &&
chown    -v dhcpcd:dhcpcd /var/lib/dhcpcd 

Installez dhcpcd en exécutant les commandes suivantes :

./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --libexecdir=/usr/lib/dhcpcd \
            --dbdir=/var/lib/dhcpcd      \
            --runstatedir=/run           \
            --privsepuser=dhcpcd         &&
make

Pour tester les résultats lancez : make test.

Maintenant, en tant qu'utilisateur root :

make install

Explication des commandes

--libexecdir=/usr/lib/dhcpcd : indique un emplacement plus correct pour les bibliothèques internes à dhcpcd.

--dbdir=/var/lib/dhcp : le répertoire par défaut /var/db n'est pas compatible FHS

--runstatedir=/run : le répertoire par défaut /var/run est un lien symbolique vers /run.

--with-hook=... : Vous pouvez éventuellement installer plus de crochets, par exemple pour installer quelques fichiers de configuration comme ntp.conf. L'ensemble des crochets est dans le répertoire dhcpcd-hooks dans l'arbre de construction.

Configurer dhcpcd

Fichiers de configuration

/etc/dhcpcd.conf

Informations de configuration

Pour configurer dhcpcd, vous avez tout d'abord besoin d'installer le script du service réseau, /usr/lib/services/dhcpcd inclus dans le paquet blfs-bootscripts-20220722 (comme utilisateur root) :

make install-service-dhcpcd
[Note]

Note

le script de service réseau /usr/lib/services/dhcpcd contenu dans les scripts de démarrage jusqu'à blfs-bootscripts-20191204 n'est plus compatible avec le dernier dhcpcd car l'emplacement du fichier de pid a changé. Pour contourner cela, lancez la commande suivante :

sed -i "s;/run/dhcpcd-;/run/dhcpcd/;g" /lib/services/dhcpcd
[Note]

Note

Le comportement par défaut de dhcpcd est de régler le nom d'hôte et les paramètres du MTU. Il écrase aussi /etc/resolv.conf et /etc/ntp.conf. Ces modifications des fichiers systèmes sont faites par les scripts conservés dans /usr/lib/dhcpcd/dhcpcd-hooks. Paramétrez dhcpcd en supprimant ou en ajoutant des scripts dans ce répertoire. Vous pouvez désactiver l'exécution des scripts en utilisant l'option --nohook (-C) de la ligne de commande ou via l'option nohook du fichier /etc/dhcpcd.conf.

Enfin, en tant qu'utilisateur root, créez le fichier de configuration /etc/sysconfig/ifconfig.eth0 en utilisant les commandes suivantes. Ajustez de façon appropriée les interfaces supplémentaires.

cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"
EOF

Pour plus d'informations sur les valeurs appropriées de DHCP_START et DHCP_STOP, consultez la page de man de dhcpcd.

Information de configuration : ip fixe

Même si c'est pas commun, il est possible que vous vouliez configurer dhcpcd pour utiliser une ip fixe. Ici, nous donnons un exemple. En tant qu'utilisateur root créez le fichier de configuration /etc/sysconfig/ifconfig.eth0 en utilisant les commandes suivantes. Ajustez comme il le faut les interfaces supplémentaires, l'ip et le routeur dont vous avez besoin :

cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -S ip_address=192.168.0.10/24 -S routers=192.168.0.1"
DHCP_STOP="-k"
EOF

Vous pouvez également utiliser les serveurs DNS de /etc/resolv.conf par un autre système, vos serveurs préférés, ou juste le ficher d'exemple /etc/resolv.conf.head ci-dessous :

cat > /etc/resolv.conf.head << "EOF"
# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF

Contenu

Programme installé: dhcpcd
Bibliothèque installée: /usr/lib/dhcpcd/dev/udev.so
Répertoire installé: /{usr,var}/lib/dhcpcd and /usr/share/dhcpcd

Descriptions courtes

dhcpcd

est une implémentation du client DHCP spécifiée dans RFC2131

udev.so

ajoute le support de udev pour les arrivées et départs d'interface ; c'est parce que udev aime renommer les interfaces ce qui ne peut pas se faire si dhcpcd la récupère avant

Last updated on