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.
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.
Téléchargement (HTTP) : https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.4.1.tar.xz
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)
LLVM-14.0.6 (avec Clang), ntp-4.2.8p15, chronyd et ypbind
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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
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
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.
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
Last updated on