"dhcpcd" é uma implementação do cliente "DHCP" especificado na "RFC2131". Um cliente "DHCP" é útil para conectar seu computador a uma rede de intercomunicação que usa "DHCP" para atribuir endereços de rede de intercomunicação. O "dhcpcd" se esforça para ser um cliente "DHCP" completo, mas muito leve.
Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.3.
Transferência (HTTP): https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.2.2/dhcpcd-10.2.2.tar.xz
Soma de verificação MD5 da transferência: 417ccbdef28a633e212b4fb59ba06fbf
Tamanho da transferência: 272 KB
Espaço em disco estimado exigido: 3,8 MB (com testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
LLVM-19.1.7 (com Clang), ntp-4.2.8p18, chronyd e ypbind
Lançamentos recentes do "dhcpcd" suportam opcionalmente a separação de privilégios. Como os benefícios práticos de segurança disso não são claros para um aplicativo como o "dhcpcd" e a configuração é mais complicada, o livro atualmente usa como padrão desativá-lo.
No entanto, se você quiser usar a separação de privilégios, [então]
etapas adicionais de instalação são necessárias para configurar o
ambiente adequado. Emita os seguintes comandos como o(a) usuário(a)
"root":
install -v -m700 -d /var/lib/dhcpcd &&
groupadd -g 52 dhcpcd &&
useradd -c 'Separação de privilégios do dhcpcd' \
-d /var/lib/dhcpcd \
-g dhcpcd \
-s /bin/false \
-u 52 dhcpcd &&
chown -v dhcpcd:dhcpcd /var/lib/dhcpcd
Construa o "dhcpcd" sem separação de privilégios executando o seguinte comando:
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/dhcpcd \
--dbdir=/var/lib/dhcpcd \
--runstatedir=/run \
--disable-privsep &&
make
Alternativamente, construa o dhcpcd com separação de privilégios executando os seguintes comandos:
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/dhcpcd \
--dbdir=/var/lib/dhcpcd \
--runstatedir=/run \
--privsepuser=dhcpcd &&
make
Para testar os resultados, emita: make test.
Agora, como o(a) usuário(a) "root":
make install
--libexecdir=/usr/lib/dhcpcd: Essa
chave configura um local melhor para bibliotecas internas do
dhcpcd.
--dbdir=/var/lib/dhcpcd:
Essa chave ajusta o diretório da base de dados, pois o diretório
padrão, /var/db, não é compatível com
o FHS.
--runstatedir=/run: Essa
chave configura o diretório de estado de tempo de execução, pois o
padrão /var/run é um link simbólico
para /run e usar /var/run está obsoleto.
--disable-privsep: Essa
chave desabilita a separação de privilégios, que é o padrão no
dhcpcd. Essa chave não é usada na configuração da construção onde a
separação de privilégios é usada.
--privsepuser=dhcpcd: Essa
chave configura o(a) usuário(a) de separação de privilégios na
configuração da construção onde o escalonamento de privilégios é
usado.
--with-hook=...: Opcionalmente, você
pode instalar mais ganchos, por exemplo, para instalar alguns
arquivos de configuração, como ntp.conf. Um conjunto de ganchos pode ser
encontrado no diretório dhcpcd-hooks
na árvore da construção.
Para configurar o "dhcpcd", você precisa primeiro
instalar o conjunto sequencial de comandos de serviço de rede de
intercomunicação, "/usr/lib/services/dhcpcd" incluído no pacote
"blfs-bootscripts-20250225"
(como usuário "root"):
make install-service-dhcpcd
O padrão para
o dhcpcd é o de
configurar o nome do dispositivo e o MTU. Ele também
sobrescreve /etc/resolv.conf e
/etc/ntp.conf. Essas modificações
nos arquivos do sistema são feitas por ganchos que estão
armazenados em /usr/lib/dhcpcd/dhcpcd-hooks. Você consegue
mudar esse comportamento removendo ou adicionando ganchos
de/para esse diretório. A execução de ganchos pode ser
desabilitada usando-se a opção de linha de comando --nohook (-C) ou
pela opção nohook no arquivo
/etc/dhcpcd.conf.
Finalmente,
como o(a) usuário(a) "root", crie
o arquivo de configuração "/etc/sysconfig/ifconfig.eth0" usando os
seguintes comandos. Ajuste adequadamente para interfaces
adicionais:
cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhcpcd"
DHCP_START="-b -q -h $HOSTNAME <insira aqui opções apropriadas de início>"
DHCP_STOP="-k <insira opções adicionais de parada aqui>"
EOF
Para mais informações relativas aos valores apropriados
"DHCP_START" e "DHCP_STOP", examine a página de manual do
"dhcpcd".
Embora não
usual, é possível que você precise configurar o "dhcpcd" para usar um "IP" fixo. Aqui, nós
damos um exemplo. Como o(a) usuário(a) "root" crie o arquivo de configuração
"/etc/sysconfig/ifconfig.eth0"
usando os seguintes comandos. Ajuste adequadamente para
interfaces adicionais e para o "IP" e roteador reais que você
precisa:
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
Você consegue ou usar servidores "DNS" em "/etc/resolv.conf" oriundos de outro sistema,
teus servidores preferidos, ou apenas o arquivo de exemplo
"/etc/resolv.conf.head" abaixo,
como está:
cat > /etc/resolv.conf.head << "EOF"
# Servidores abertos "DNS"
nameserver 208.67.222.222
nameserver 208.67.220.220
EOF