dhcpcd-10.1.0

Introduksjon til dhcpcd

dhcpcd er en implementering av en DHCP klient spesifisert i RFC2131. En DHCP klient er nyttig for å tilkoble datamaskinen til et nettverk som bruker DHCP for å tilordne nettverksadresser. dhcpcd streber etter å være en fullt utstyrt, men likevel veldig lett DHCP klient.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

dhcpcd Avhengigheter

Valgfri

LLVM-19.1.0 (med Clang), ntp-4.2.8p18, chronyd, og ypbind

Privilegeseparasjon

Nylige utgivelser av dhcpcd støtter valgfritt rettighetsseparasjon. Siden de praktiske sikkerhetsfordelene ved dette er uklart for et program som dhcpcd og oppsettet er mer komplisert, deaktiverer boken det for øyeblikket som standard.

Hvis du imidlertid ønsker å bruke rettighetsseparasjon, tilleggs installasjonstrinn er nødvendig for å sette opp det riktige miljøet. Kjør følgende kommandoer som root bruker:

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 

Installasjon av dhcpcd

Alternativt, bygg dhcpcd med privilegium separasjon ved å kjøre følgende kommandoer:

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

Bygg dhcpcd med rettighetsseparasjon ved å kjøre følgende kommandoer:

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

For å teste resultatene, kjør: make test.

Nå, som root bruker:

make install

Parameterforklaringer

--libexecdir=/usr/lib/dhcpcd: Denne bryteren setter en bedre plassering for de interne dhcpcd bibliotekene.

--dbdir=/var/lib/dhcpcd: Denne bryteren justerer databasemappen fordi standardmappen, /var/db, ikke er FHS kompatibel.

--runstatedir=/run: Denne bryteren stiller inn kjøretidens tilstands mappe fordi standard /var/run er en symbolsk lenke til /run, og bruke /var/run er avviklet.

--disable-privsep: Denne bryteren deaktiverer privilegier separasjon, som er standard i dhcpcd. Denne bryteren brukes ikke i byggekonfigurasjonen der rettighetsseparasjon brukes.

--privsepuser=dhcpcd: Denne bryteren stiller inn rettighetsseparasjon bruker i byggekonfigurasjonen hvor rettighet eskalering brukes.

--with-hook=...: Du kan eventuelt installere flere kroker, for eksempel å installere noen konfigurasjonsfiler som f.eks ntp.conf. Et sett med kroker finner du i dhcpcd-hooks mappen i byggetreet.

Konfigurere dhcpcd

Konfigurasjonsfiler

/etc/dhcpcd.conf

Generell Konfigurasjonsinformasjon

Hvis du vil konfigurere nettverksgrensesnitt ved oppstart ved hjelp av dhcpcd, må du installere systemd enheten inkludert i blfs-systemd-units-20240916 pakken ved å kjøre følgende kommando som root bruker:

make install-dhcpcd
[Notat]

Notat

Standardoppførselen til dhcpcd er å stille inn vertsnavn og mtu. Den overskriver også /etc/resolv.conf og /etc/ntp.conf. Disse endringer i systemkonfigurasjonsfiler gjøres av kroker som er lagret i /usr/lib/dhcpcd/dhcpcd-hooks. Du kan endre denne oppførselen ved å fjerne eller legge til kroker fra/til den mappen. Utførelsen av kroker kan deaktiveres ved å bruke --nohook (-C) kommandolinjealternativet eller ved hjelp av nohook alternativet i /etc/dhcpcd.conf filen.

[Notat]

Notat

Pass på at du deaktiverer systemd-networkd tjenesten eller konfigurer den til ikke å administrere grensesnittene du ønsker å administrere med dhcpcd.

På dette tidspunktet kan du teste om dhcpcd oppfører seg som forventet ved å kjøre følgende kommando som root bruker:

systemctl start dhcpcd@eth0

For å starte dhcpcd på et spesifikt grensesnitt ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

systemctl enable dhcpcd@eth0

Erstatt eth0 med det faktiske grensesnittnavnet.

Innhold

Installert Program: dhcpcd
Installert Bibliotek: /usr/lib/dhcpcd/dev/udev.so
Installerte Mapper: /{usr,var}/lib/dhcpcd and /usr/share/dhcpcd

Korte Beskrivelser

dhcpcd

er en implementering av DHCP klienten spesifisert i RFC2131

udev.so

legger til udev støtte for grensesnitt ankomst og avgang; dette er fordi udev liker å gi nytt navn til grensesnittet, noe det ikke kan gjøre hvis dhcpcd tar det først