DHCP-4.4.3-P1

Introdução ao ISC DHCP

O pacote "ISC DHCP" contém os aplicativos cliente e servidor para "DHCP". "dhclient" (o cliente) é usado para conectar-se a uma rede de intercomunicação que usa "DHCP" para atribuir endereços de rede de intercomunicação. "dhcpd" (o servidor) é usado para atribuir endereços de rede de intercomunicação em redes de intercomunicação privadas.

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

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

Configuração do Núcleo

Você precisa ter suporte para "Packet Socket". O suporte "IPv6" é opcional.

[*] Networking support --->       [CONFIG_NET]
      Networking options --->
        <*> Packet socket          [CONFIG_PACKET]
        <*> The IPv6 Protocol ---> [CONFIG_IPV6]

Instalação do ISC DHCP

[Nota]

Nota

Esse pacote não suporta construção paralela.

[Nota]

Nota

Tenha cuidado com as instruções abaixo. As aspas simples e duplas são importantes porque as variáveis definidas são usadas literalmente no código.

Instale "ISC DHCP" executando os seguintes comandos:

( export CFLAGS="${CFLAGS:--g -O2} -Wall -fno-strict-aliasing                \
        -D_PATH_DHCLIENT_SCRIPT='\"/usr/sbin/dhclient-script\"'     \
        -D_PATH_DHCPD_CONF='\"/etc/dhcp/dhcpd.conf\"'               \
        -D_PATH_DHCLIENT_CONF='\"/etc/dhcp/dhclient.conf\"'"        &&

./configure --prefix=/usr                                           \
            --sysconfdir=/etc/dhcp                                  \
            --localstatedir=/var                                    \
            --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases       \
            --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases     \
            --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \
            --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases
) &&
make -j1

Esse pacote não vem com uma suíte de teste.

Se você deseja instalar somente o cliente "ISC DHCP", [então] emita os seguintes comandos como o(a) usuário(a) "root":

make -C client install            &&
install -v -m755 client/scripts/linux /usr/sbin/dhclient-script

Pule para "“Configuração do Cliente”" para a finalidade de configurar o cliente

Se você deseja instalar somente o servidor "ISC DHCP", [então] emita o seguinte comando como o(a) usuário(a) "root":

make -C server install

Pule para "“Configuração do Servidor”" para a finalidade de configurar o servidor.

Alternativamente, você consegue instalar o pacote inteiro, que inclui o cliente, servidor, retransmissão, bibliotecas estáticas e cabeçalhos de desenvolvimento executando os seguintes comandos como o(a) usuário(a) "root":

make install &&
install -v -m755 client/scripts/linux /usr/sbin/dhclient-script

Configurando o ISC DHCP

Arquivos de Configuração

/etc/dhcp/dhclient.conf e /etc/dhcp/dhcpd.conf

Configuração do Cliente

Crie um "/etc/dhcp/dhclient.conf" básico executando o seguinte comando como o(a) usuário(a) "root":

install -vdm755 /etc/dhcp &&
cat > /etc/dhcp/dhclient.conf << "EOF"
# Inicia /etc/dhcp/dhclient.conf
#
# Um dhclient.conf(5) básico

#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, domain-search, host-name,
        netbios-name-servers, netbios-scope, interface-mtu,
        ntp-servers;
require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;

# Termina /etc/dhcp/dhclient.conf
EOF

Veja-se "man 5 dhclient.conf" para opções adicionais.

Agora crie o diretório "/var/lib/dhclient" que conterá concessões do cliente "DHCP" executando o seguinte comando como o(a) usuário(a) "root":

install -v -dm 755 /var/lib/dhclient

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

dhclient <eth0>

Substitua "<eth0>" pela tua interface desejada. Se você quiser uma saída gerada mais detalhada, [então] adicione o parâmetro "-v" ao comando acima.

Se você deseja configurar interfaces de rede de intercomunicação na inicialização usando o "dhclient", [então] você precisa instalar o conjunto sequencial de comandos "/lib/services/dhclient" incluído no pacote "blfs-bootscripts-20230101":

make install-service-dhclient

Em seguida, crie o arquivo de configuração "/etc/sysconfig/ifconfig.eth0" com os seguintes comandos como o(a) usuário(a) "root":

cat > /etc/sysconfig/ifconfig.eth0 << "EOF"
ONBOOT="yes"
IFACE="eth0"
SERVICE="dhclient"
DHCP_START=""
DHCP_STOP=""

# Configure PRINTIP="yes" para que o conjunto sequencial de comandos imprima
# o endereço "IP" atribuído pelo "DHCP"
PRINTIP="no"

# Configure PRINTALL="yes" para imprimir os valores atribuídos pelo "DHCP" para
# "IP", "SM", "DG" e 1º "NS". Isso exige PRINTIP="yes".
PRINTALL="no"
EOF

Ajuste o arquivo para atender às tuas necessidades.

Para mais informações relativas aos valores apropriados "DHCP_START" e "DHCP_STOP", veja-se "man 8 dhclient".

Configuração do Servidor

Observe que você só precisa do servidor "DHCP" se quiser emitir endereços "LAN" pela sua rede de intercomunicação. O cliente "DHCP" não precisa do servidor para a finalidade de funcionar corretamente.

Comece criando "/etc/dhcp/dhcpd.conf" executando o seguinte comando como o(a) usuário(a) "root":

cat > /etc/dhcp/dhcpd.conf << "EOF"
# Inicia /etc/dhcp/dhcpd.conf
#
# Um dhcpd.conf(5) de exemplo

# Use isto para habilitar/desabilitar globalmente atualizações dinâmicas de DNS.
ddns-update-style none;

# Definições de opções comuns a todas as redes de intercomunicação suportadas...
option domain-name "exemplo.org";
option domain-name-servers ns1.exemplo.org, ns2.exemplo.org;

default-lease-time 600;
max-lease-time 7200;

# Esta é uma declaração de sub-rede muito básica.
subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
  option routers rtr-239-0-1.exemplo.org, rtr-239-0-2.exemplo.org;
}

# Termina /etc/dhcp/dhcpd.conf
EOF

Ajuste o arquivo para atender às suas necessidades. Veja-se "man 5 dhcpd.conf" para opções adicionais.

Agora crie o diretório "/var/lib/dhcpd/dhcpd.leases" que conterá concessões do servidor "DHCP" executando os seguintes comandos como o(a) usuário(a) "root":

install -v -dm 755 /var/lib/dhcpd &&
touch /var/lib/dhcpd/dhcpd.leases

Se você deseja iniciar o servidor "DHCP" na inicialização, [então] instale o conjunto sequencial de comandos de iniciação "/etc/rc.d/init.d/dhcpd" incluído no pacote "blfs-bootscripts-20230101" "":

make install-dhcpd

Você precisará editar o "/etc/sysconfig/dhcpd" para a finalidade de configurar a interface na qual o "dhcpd" atenderá as solicitações "DHCP".

Conteúdo

Aplicativos Instalados: dhclient, dhclient-script, dhcpd, dhcrelay e omshell
Bibliotecas Instaladas: libdhcpctl.a e libomapi.a
Diretórios Instalados: /etc/dhcp, /usr/include/dhcpctl, /usr/include/isc-dhcp, /usr/include/omapip, /var/lib/dhclient e /var/lib/dhcpd

Descrições Curtas

dhclient

é a implementação do cliente "DHCP"

dhclient-script

é usado pelo "dhclient" para (re)configurar interfaces. Ele pode fazer mudanças extras invocando "dhclient-{entry,exit}-hooks" personalizados

dhcpd

implementa solicitações de "Dynamic Host Configuration Protocol" ("DHCP") e "Internet Bootstrap Protocol" ("BOOTP") para endereços de rede de intercomunicação

dhcrelay

fornece um meio de aceitar solicitações "DHCP" e "BOOTP" em uma sub-rede sem um servidor "DHCP" e retransmiti-las para um servidor "DHCP" em outra sub-rede

omshell

fornece uma maneira interativa de conectar, consultar e possivelmente mudar o estado do servidor "ISC DHCP" via "OMAPI", a "Object Management API"