Product SiteDocumentation Site

10.8. DHCP

DHCP (para Dynamic Host Configuration Protocol, Protocolo de Configuração Dinâmica de Host) é um protocolo pelo qual uma máquina pode receber automaticamente sua configuração de rede no momento de inicialização. Isso permite centralizar o gerenciamento de configuração de uma rede, e garante que todas as máquinas recebam configurações similares.
Um servidor DHCP provê muitos parâmetros relacionados a redes. O mais comum é um endereço IP e a rede à qual a máquina pertence, mas também pode prover outras informações, como servidores DNS, servidores WINS, servidores NTP, e assim por diante.
O Internet Software Consortium (também envolvido no desenvolvimento do bind) é o principal autor do servidor DHCP. O pacote Debian correspondente é isc-dhcp-server.

10.8.1. Configurando

Os primeiros elementos que precisam ser editados nos arquivos de configuração de um servidor DHCP (/etc/dhcp/dhcpd.conf e /etc/dhcp/dhcpd6.conf para IPv6) são o nome de domínio e os servidores DNS. Se esse servidor é o único na rede local (como definido pela propagação broadcast), a diretiva authoritative também tem que ser ativada (ou descomentada). Também é necessário criar uma seção subnet descrevendo a rede local e a informação de configuração a ser fornecida. O exemplo a seguir descreve uma rede local 192.168.0.0/24 com um roteador em 192.168.0.1 servindo de gateway. Endereços IP disponíveis estão no intervalo de 192.168.0.128 até 192.168.0.254.

Exemplo 10.15. Trecho do /etc/dhcp/dhcpd.conf

#
# Arquivo de configuração de exemplo para ISC dhcpd para Debian
#

# O parâmetro ddns-updates-style controla se o servidor vai tentar ou não
# fazer uma atualização de DNS quando um lease for confirmado. Retornamos ao
# comportamento padrão dos pacotes versão 2 ('none', desde que DHCP v2 não
# tinha suporte para DDNS.)
ddns-update-style interim;

# definições de opções comuns a todas as redes suportadas...
option domain-name "internal.falcot.com";
option domain-name-servers ns.internal.falcot.com;

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

# Se este servidor DHCP é o servidor DHCP oficial para a rede local,
# a diretiva authoritative deve ser descomentada.
authoritative;

# Use isto para enviar mensagens de log do dhcp para um arquivo de log diferente (você também
# tem que mexer em syslog.conf para completar o redirecionamento).
log-facility local7;

# Minha subrede
subnet 192.168.0.0 netmask 255.255.255.0 {
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
    range 192.168.0.128 192.168.0.254;
    ddns-domainname "internal.falcot.com";
}

10.8.2. DHCP e DNS

Um recurso legal é o registro automatizado de clientes DHCP em uma zona DNS, para que cada máquina receba um nome significativo (em vez de alguma coisa impessoal como machine-192-168-0-131.internal.falcot.com). Usar esse recurso requer a configuração do servidor DNS para aceitar atualizações para a zona DNS internal.falcot.com a partir do servidor DHCP, e configurar esse último para submeter atualizações para cada registro.
No caso do bind (veja Seção 10.7.1, “Software DNS”), a diretiva allow-update precisa ser adicionada a cada uma das zonas que o servidor DHCP deve editar (uma para o domínio internal.falcot.com, e uma para a zona reversa). Essa diretiva lista o endereço IP que tem permissão para realizar essas atualizações; ela deve então conter os possíveis endereços do servidor DHCP (tanto o endereço local quanto o endereço público, se apropriado).
allow-update { 127.0.0.1 192.168.0.1 212.94.201.10 !any };
Atenção! Uma zona que pode ser modificada será alterada pelo bind, e esse último irá sobrescrever seus arquivos de configuração em intervalos regulares. Como esse procedimento automatizado produz arquivos que são menos legíveis por humanos do que os escritos manualmente, os(as) administradores(as) da Falcot lidam com o domínio internal.falcot.com com um servidor DNS delegado; isso significa que o arquivo de zona falcot.com continua firmemente sob controle manual.
O trecho da configuração do servidor DHCP acima inclui as diretivas necessárias para atualização da zona DNS: são as linhas ddns-update-style interim; e ddns-domain-name "internal.falcot.com";.