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.
Ce paquet est connu pour se construire correctement sur une plateforme LFS-1.0.
Téléchargement (HTTP) : https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.1.4.tar.xz
Téléchargement (FTP) : ftp://roy.marples.name/pub/dhcpcd/dhcpcd-9.1.4.tar.xz
Somme de contrôle MD5 du téléchargement : dd77711cf3232002bb075f5210269f88
Taille du téléchargement : 244 Ko
Estimation de l'espace disque requis : 3.5 Mo (avec les tests)
Estimation du temps de construction : moins de 0.1 SBU (avec les tests)
LLVM-10.0.1 (avec Clang), ntp-4.2.8p15, chronyd et ypbind
Notes utilisateur : http://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 lançant 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 lançant les commandes suivantes :
./configure --libexecdir=/lib/dhcpcd \ --dbdir=/var/lib/dhcpcd \ --privsepuser=dhcpcd && make
Pour tester les résultats lancez : make test.
Maintenant, en tant qu'utilisateur root
:
make install
--libexecdir=/lib/dhcpcd
: le
répertoire par défaut /libexec
n'est
pas compatible FHS. Comme le répertoire doit être disponible plus
tôt dans le démarrage, /usr/libexec
ne peut pas être utilisé non plus.
--dbdir=/var/lib/dhcp
: le
répertoire par défaut /var/db
n'est
pas compatible FHS
--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, /lib/services/dhcpcd
inclus dans le paquet
blfs-bootscripts-20200818 (comme
utilisateur root
) :
make install-service-dhcpcd
le script de
service réseau /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
de l'hôte et les paramètres du MTU. Il écrase aussi
/etc/resolv.conf
et /etc/ntp.conf
. Ces modifications des fichiers
de système et des paramétrages des fichiers de configuration
système sont faites par les scripts conservés dans /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 2020-08-16 16:32:35 +0000