06 - Protocolo DHCP
video: https://youtu.be/... no frontmatter da nota.Protocolo DHCP (Dynamic Host Configuration Protocol)
O DHCP (Dynamic Host Configuration Protocol), padronizado na RFC 2131 (1997) e atualizado pela RFC 2132 (opções) e RFC 8415 (DHCPv6), é o protocolo da camada de aplicação responsável por atribuir automaticamente configurações de rede a hosts em uma infraestrutura IP. Sem o DHCP, cada dispositivo que ingressa em uma rede exigiria configuração manual de endereço IP, máscara, gateway padrão, servidores DNS e outros parâmetros — uma tarefa impraticável em redes modernas com milhares de dispositivos. O DHCP elimina essa complexidade oferecendo configuração dinâmica, automática e transparente, e é a peça central de qualquer rede empresarial Wi-Fi, Ethernet corporativa ou ISP de banda larga.
1. História e Padronização
O DHCP evoluiu a partir do protocolo BOOTP (Bootstrap Protocol, RFC 951/1985), que originalmente atribuía IPs fixos a estações diskless que precisavam baixar seu sistema operacional via rede. O DHCP estendeu o BOOTP com três recursos novos: (1) atribuição dinâmica de IPs por tempo limitado (lease), (2) opção de configuração manual (reserva), e (3) opção de atribuição automática (permanente).
RFCs de Referência
| RFC | Ano | Conteúdo |
|---|---|---|
| 951 | 1985 | BOOTP original |
| 1533 | 1993 | Opções BOOTP/DHCP |
| 2131 | 1997 | DHCP para IPv4 (atual) |
| 2132 | 1997 | Opções e extensões DHCPv4 |
| 3046 | 2001 | Option 82 (Relay Agent Information) |
| 4361 | 2006 | DHCP Circuit ID e Remote ID |
| 8415 | 2018 | DHCPv6 (consolidado) |
2. Modelo Cliente-Servidor via UDP
O DHCP utiliza o protocolo UDP na camada de transporte, com portas bem definidas:
| Porta | Protocolo | Uso |
|---|---|---|
| UDP 67 | Servidor | Escuta requisições de clientes |
| UDP 68 | Cliente | Escuta respostas de servidores |
| UDP 546 | DHCPv6 Cliente | DHCPv6 (RFC 8415) |
| UDP 547 | DHCPv6 Servidor | DHCPv6 Relay/Server |
Por que UDP e não TCP?
O DHCP é um protocolo stateless de configuração inicial: o cliente tipicamente não possui IP válido quando inicia a negociação, e portanto não pode completar um handshake TCP (que exige IPs de origem e destino). UDP permite broadcast/multicast para descoberta inicial e tolera retransmissões simples via temporizadores no cliente.
3. O Fluxo DORA: 4 Mensagens Fundamentais
Atribuição de um lease DHCP segue um processo de quatro etapas conhecido pela sigla DORA:
3.1 Discover (Cliente → Broadcast)
O cliente, sem IP, envia um pacote UDP em broadcast (255.255.255.255) na porta 67 com:
- ciaddr = 0.0.0.0 (não tem IP)
- chaddr = MAC address do cliente
- xid = transaction ID aleatório de 32 bits
- Opções pedidas: Subnet Mask (1), Router (3), DNS (6), Domain Name (15), Lease Time (51)
3.2 Offer (Servidor → Broadcast ou Unicast)
Cada servidor DHCP que recebe o Discover responde com uma Offer contendo:
- yiaddr = IP oferecido ao cliente
- siaddr = IP do próximo servidor (TFTP, etc.)
- subnet mask, gateway, DNS servers, lease time
- Marca o IP como "reservado" temporariamente até receber o Request
3.3 Request (Cliente → Broadcast)
O cliente escolhe a melhor Offer (em geral, a primeira recebida) e envia um Request em broadcast para informar todos os servidores qual oferta aceitou. Servidores não escolhidos liberam o IP reservado. Inclui:
- server identifier = IP do servidor escolhido
- requested IP = IP da Offer aceita
3.4 Acknowledge (Servidor → Broadcast ou Unicast)
O servidor escolhido confirma a atribuição com um DHCPACK, finalizando o lease. A partir deste momento, o cliente tem um IP válido e pode usar a rede normalmente.
4. Tipos de Atribuição
| Tipo | Descrição | Uso Típico |
|---|---|---|
| Dinâmico | IP emprestado por tempo limitado (lease) | Wi-Fi corporativo, rede de visitantes |
| Automático | IP atribuído permanentemente (sem expiração) | Dispositivos pessoais em rede pequena |
| Manual (Reserva) | IP fixo vinculado ao MAC do cliente | Servidores, impressoras, APs |
Reserva (MAC Binding)
# Exemplo de configuração ISC DHCP Server (/etc/dhcp/dhcpd.conf)
host impressora-3o-andar {
hardware ethernet 00:1B:44:7B:9F:3A;
fixed-address 192.168.10.50;
option host-name "impressora-rh";
}
5. Ciclo de Vida do Lease
O lease tem duração configurável (padrão: 86400s = 24h no ISC DHCP, 1h em redes Wi-Fi densas). O cliente deve renovar antes da expiração:
| Estado | Quando | Ação do Cliente |
|---|---|---|
| BOUND | Logo após DHCPACK | Usa o IP normalmente |
| RENEWING | Em T1 (50% do lease) | Unicast DHCPREQUEST ao servidor original |
| REBINDING | Em T2 (87.5% do lease) | Broadcast DHCPREQUEST (qualquer servidor pode responder) |
| RELEASED | Cliente encerra | Envia DHCPRELEASE ao servidor |
| EXPIRED | Lease chegou a 0 | Cliente desconfigura o IP e refaz DORA |
Se o servidor original não responder em T1, o cliente tenta outro servidor em T2, garantindo resiliência. Se ambos falharem, ao expirar o IP é devolvido e o cliente usa APIPA (169.254.0.0/16) como fallback.
6. DHCP Relay Agent (Forwarder)
Em redes segmentadas por VLANs, é impraticável manter um servidor DHCP por VLAN. O DHCP Relay Agent (RFC 1542) resolve isso encaminhando broadcasts DHCP entre segmentos:
- Cliente em VLAN X envia DHCPDISCOVER em broadcast (não sai da VLAN).
- O roteador da VLAN X (configurado como Relay) intercepta o broadcast na porta 67.
- O Relay encapsula o pacote em unicast UDP para o servidor DHCP central em outra VLAN.
- O Relay adiciona a Option 82 (Relay Agent Information) com
Circuit-ID(porta do switch) eRemote-ID(VLAN). - O servidor responde ao Relay, que repassa a resposta ao cliente na VLAN original.
# Configuração de relay em roteador Cisco
interface Vlan10
ip helper-address 10.0.0.5
ip helper-address 10.0.0.6 # redundância
# Em Linux (isc-dhcp-relay)
dhcrelay -i eth0 -i eth1 10.0.0.5 10.0.0.6
7. Segurança: Vulnerabilidades e Mitigações
O DHCP original não possui autenticação, criando vetores clássicos de ataque:
Rogue DHCP Server
Atacante liga um servidor DHCP falso na rede, atribuindo gateway e DNS maliciosos a clientes ingênuos. Permite interceptação de tráfego e phishing direcionado. Mitigação: DHCP Snooping em switches gerenciados (Cisco, HP, Juniper) — apenas portas configuradas como trust podem responder DHCP.
DHCP Starvation Attack
Atacante envia milhares de DHCPDISCOVER com MACs falsos, esgotando o pool do servidor legítimo e causando DoS aos clientes reais. Mitigação: Rate limiting na porta do switch (limit rate 15), port security com MAC sticky, e uso de Option 82 para validação.
RFC 3118 (Authentication for DHCP)
Padroniza autenticação de mensagens DHCP via chaves compartilhadas ou tokens Kerberos. Praticamente não implementado em clientes corporativos por falta de suporte dos sistemas operacionais modernos.
8. Auditoria e Diagnóstico
# Liberando e renovando lease no Linux
sudo dhclient -r eth0 # release
sudo dhclient eth0 # renew
# Visualizando lease atual
cat /var/lib/dhcp/dhclient.leases
ip addr show eth0
# No Windows
ipconfig /release
ipconfig /renew
ipconfig /all
# Capturando tráfego DHCP ao vivo (DORA completo)
sudo tcpdump -i eth0 -n port 67 or port 68 -vv
# Diagnosticando DHCP via ferramenta especializada
sudo nmap --script broadcast-dhcp-discover
# Logs ISC DHCP Server
tail -f /var/log/syslog | grep dhcp
tail -f /var/lib/dhcp/dhcpd.leases
9. Resumo Técnico
| Atributo | Valor |
|---|---|
| RFC | 2131 (DHCPv4), 8415 (DHCPv6) |
| Porta (servidor) | UDP 67 |
| Porta (cliente) | UDP 68 |
| Transporte | UDP (broadcast inicial, unicast depois) |
| Modelo | Cliente-Servidor |
| Modos | Dinâmico, Automático, Manual (reserva) |
| Mensagens | DORA (Discover, Offer, Request, Ack) |
| Relay Agent | RFC 1542, Option 82 (RFC 3046) |
| Implementações | ISC DHCPd, Kea, dnsmasq, Windows Server DHCP, Cisco IOS DHCP |
10. Conclusão
O Protocolo DHCP é a fundação operacional de qualquer rede IP moderna, permitindo que bilhões de dispositivos (laptops, smartphones, IoT, impressoras) se conectem automaticamente a redes em escala global sem intervenção manual. Compreender o fluxo DORA, o ciclo de vida do lease (BOUND → RENEWING → REBINDING → RELEASED/EXPIRED), o uso de Relay Agents com Option 82 em redes multi-VLAN e as mitigações de segurança (DHCP Snooping, port security, rate limiting) é essencial para qualquer administrador de redes moderno. Em ambientes corporativos atuais, o DHCP coexiste com tecnologias como PPPoE (em ISPs), SLAAC (IPv6 stateless via ICMPv6), e Private 5G — mas permanece como o protocolo de configuração dinâmica mais adotado do mundo, base indispensável da experiência plug-and-play que define a internet contemporânea.