dhcpcd-9.4.1

Introdução ao dhcpcd

"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 adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

  • Transferência (HTTP): https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.4.1.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 2b2f46648bc96979f96127f0e0e07d9b

  • Tamanho da transferência: 251 KB

  • Espaço em disco estimado exigido: 3,6 MB (com os testes)

  • Tempo de construção estimado: menos que 0,1 UPC (com os testes)

Dependências do "dhcpcd"

Opcionais

LLVM-15.0.7 (com "Clang"), ntp-4.2.8p15, chronyd e ypbind

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd

Separação de privilégios

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 

Instalação do dhcpcd

Corrija um erro de tempo de execução causado por uma mudança na "glibc-2.36":

sed '/Deny everything else/i SECCOMP_ALLOW(__NR_getrandom),' \
   -i src/privsep-linux.c

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

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

Explicações do Comando

--libexecdir=/usr/lib/dhcpcd: Configura um local mais adequado para bibliotecas internas do "dhcpcd".

--dbdir=/var/lib/dhcpcd: O "/var/db" padrão não é compatível com a "FHS"

--runstatedir=/run: O "/var/run" padrão é um link simbólico para "/run".

--with-hook=...: Opcionalmente, você pode instalar mais ganchos, por exemplo, para instalar alguns arquivos de configuração como "ntp.conf". O conjunto de ganchos está no diretório "dhcpcd-hooks" na árvore de construção.

--disable-privsep: Não use a separação de privilégios, que é o padrão.

--privsepuser=dhcpcd: Use esse(a) usuário(a) sem privilégios em uma configuração de separação de privilégios.

--with-hook=...: Opcionalmente, você pode instalar mais ganchos, por exemplo, para instalar alguns arquivos de configuração como "ntp.conf". O conjunto de ganchos está no diretório "dhcpcd-hooks" na árvore de construção.

Configurando o dhcpcd

Arquivos de Configuração

/etc/dhcpcd.conf

Informações Gerais de Configuração

Se você quiser configurar interfaces de rede de intercomunicação na inicialização usando o "dhcpcd", [então] você precisa instalar a unidade "systemd" incluída no pacote "blfs-systemd-units-20220720" executando o seguinte comando como o(a) usuário(a) "root":

make install-dhcpcd
[Nota]

Nota

O comportamento padrão do "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 de configuração do sistema são feitas por ganchos que estão armazenados em "/lib/dhcpcd/dhcpcd-hooks". Configure o "dhcpcd" removendo ou adicionando ganchos de/para esse diretório. A execução de ganchos consegue ser desabilitada usando-se a opção de linha de comando "--nohook" ("-C") ou pela opção "nohook" no arquivo "/etc/dhcpcd.conf".

[Nota]

Nota

Certifique-se de desabilitar o serviço "systemd-networkd" ou configurá-lo para não gerenciar as interfaces que você quer gerenciar com o "dhcpcd".

Neste ponto você consegue testar se o "dhcpcd" está se comportando conforme esperado executando o seguinte comando como o(a) usuário(a) "root":

systemctl start dhcpcd@eth0

Para iniciar o "dhcpcd" em uma interface específica na inicialização, habilite a unidade "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) "root":

systemctl enable dhcpcd@eth0

Substitua "eth0" pelo nome real da interface.

Conteúdo

Aplicativo Instalado: dhcpcd
Biblioteca Instalada: /usr/lib/dhcpcd/dev/udev.so
Diretório Instalado: /{usr,var}/lib/dhcpcd e /usr/share/dhcpcd

Descrições Curtas

dhcpcd

é uma implementação do cliente "DHCP" especificado na "RFC2131"

udev.so

adiciona suporte ao "Udev" para chegada e partida da interface; isso ocorre porque o "Udev" gosta de renomear a interface, o que não poderá ser feito se o "dhcpcd" a capturar primeiro