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.
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.
Nedlasting (HTTP): https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.1.0/dhcpcd-10.1.0.tar.xz
Nedlasting MD5 sum: 1f8e7903d432193f9ecca55a3d978e39
Nedlastingsstørrelse: 268 KB
Estimert diskplass som kreves: 3.1 MB (med tester)
Estimert byggetid: mindre enn 0.1 SBU (med tester)
LLVM-19.1.0 (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.
For å konfigurere dhcpcd, må du først installere
nettverkstjenesteskriptet, /usr/lib/services/dhcpcd
inkludert i blfs-bootscripts-20240913 pakken (som
bruker root
):
make install-service-dhcpcd
Standard for
dhcpcd er å angi
vertsnavnet og mtu. Den overskriver også /etc/resolv.conf
og /etc/ntp.conf
. Disse modifikasjonene av
systemfiler gjøres av kroker som er lagret i /usr/lib/dhcpcd/dhcpcd-hooks
. Du kan endre
denne virkemåten ved å fjerne eller legge til kroker fra/til
den mappen. Utførelsen av kroker kan deaktiveres ved å bruke
--nohook
(-C
) kommandolinjealternativ eller av
nohook
alternativet i /etc/dhcpcd.conf
filen.
Til slutt, som
root
bruker opprett /etc/sysconfig/ifconfig.eth0
konfigurasjonsfil
ved hjelp av følgende kommandoer. Juster riktig for ekstra
grensesnitt:
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -h $HOSTNAME <insert appropriate start options here>
"
DHCP_STOP="-k <insert additional stop options here>
"
EOF
For mer informasjon om passende DHCP_START
og DHCP_STOP
verdier, undersøk man siden for dhcpcd.
Selv om det
ikke er vanlig, er det mulig at du trenger å konfigurere
dhcpcd til å bruke en fast ip.
Her, gir vi et eksempel. Som root
bruker opprett /etc/sysconfig/ifconfig.eth0
konfigurasjonsfilen ved å bruke følgende kommandoer. Juster
passende for ytterligere grensesnitt og for den faktiske ip og
ruteren du trenger:
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
Du kan enten bruke DNS servere i /etc/resolv.conf
fra et annet system, dine
foretrukne servere, eller bare eksempelet /etc/resolv.conf.head
filen nedenfor som den
er:
cat > /etc/resolv.conf.head << "EOF"
# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF