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

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
[Notat]

Notat

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.

Konfigurasjonsinformasjon: fast ip

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

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