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.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.2 plattform.
Nedlasting (HTTP): https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.0.8/dhcpcd-10.0.8.tar.xz
Nedlasting MD5 sum: 8b813685a48ab017bcfb5e720a9f0181
Nedlastingsstørrelse: 265.7 KB
Estimert diskplass som kreves: 3.0 MB (med tester)
Estimert byggetid: mindre enn 0.1 SBU (med tester)
LLVM-18.1.7 (med Clang), ntp-4.2.8p18, chronyd, og ypbind
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
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
--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.
Hvis du vil konfigurere nettverksgrensesnitt ved oppstart ved
hjelp av dhcpcd, må
du installere systemd enheten inkludert i blfs-systemd-units-20240801 pakken ved å
kjøre følgende kommando som root
bruker:
make install-dhcpcd
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.
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.