Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

06 - Protocolo DHCP

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione 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:

  1. Cliente em VLAN X envia DHCPDISCOVER em broadcast (não sai da VLAN).
  2. O roteador da VLAN X (configurado como Relay) intercepta o broadcast na porta 67.
  3. O Relay encapsula o pacote em unicast UDP para o servidor DHCP central em outra VLAN.
  4. O Relay adiciona a Option 82 (Relay Agent Information) com Circuit-ID (porta do switch) e Remote-ID (VLAN).
  5. 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.