DHCP Snooping e Dynamic ARP Inspection (DAI)
O que é
DHCP Snooping é um recurso de segurança disponível em switches Cisco que filtra mensagens DHCP recebidas em portas não confiáveis. Ele age como um firewall de camada 2 para tráfego DHCP: inspeciona cada mensagem que entra por portas marcadas como untrusted e decide se deve encaminhá-la ou descartá-la.
Dynamic ARP Inspection (DAI) é um recurso complementar que faz o mesmo trabalho, mas para mensagens ARP. Ele impede que dispositivos maliciosos envenenem as tabelas ARP de outros hosts na rede, desviando o tráfego para si mesmos.
Os dois recursos formam uma dupla de defesa de camada 2 e são cobrados juntos no Exam Topic 5.7 do CCNA 200-301.
Como funciona
DHCP Snooping
O conceito central é a divisão das portas do switch em dois grupos:
- Trusted (confiável): geralmente as portas uplink, que apontam para roteadores, outros switches ou o servidor DHCP legítimo. Mensagens DHCP chegando por essas portas são encaminhadas sem inspeção.
- Untrusted (não confiável): todas as outras portas, tipicamente as que conectam hosts finais. Por padrão, todas as portas nascem untrusted.
Quando uma mensagem DHCP chega em uma porta untrusted, o switch aplica as seguintes regras:
- Mensagens de servidor DHCP (OFFER, ACK, NACK) são sempre descartadas. Servidores DHCP não deveriam estar conectados a portas não confiáveis.
- Mensagens de cliente DHCP (DISCOVER, REQUEST) são inspecionadas: o switch compara o endereço MAC de origem do frame Ethernet com o campo Client Hardware Address (CHADDR) da mensagem DHCP. Se os dois não coincidem, a mensagem é descartada.
- Mensagens RELEASE e DECLINE são verificadas contra a binding table: o switch checa se o IP e a interface de origem batem com o registro existente.
A Binding Table
Quando um cliente obtém um endereço IP via DHCP com o snooping ativo, o switch registra automaticamente na binding table:
| MAC Address | IP Address | Lease Time | VLAN | Interface |
|---|---|---|---|---|
| aa:bb:cc:dd:ee:01 | 192.168.1.10 | 86400 | 1 | Gi0/1 |
Esse registro é a base para as verificações de RELEASE/DECLINE e, mais importante, é a fonte de dados que o DAI usa.
Rate Limiting
O DHCP Snooping suporta limitação de taxa por porta (ip dhcp snooping limit rate). Se o número de mensagens DHCP por segundo exceder o limite configurado, a interface é desabilitada automaticamente (err-disabled). Isso protege contra ataques de DHCP starvation que tentam esgotar o pool do servidor com milhares de DISCOVERs falsos.
Dynamic ARP Inspection (DAI)
O ARP não tem mecanismo de autenticação. Qualquer dispositivo pode enviar uma mensagem ARP gratuitous — uma resposta ARP não solicitada — afirmando que determinado IP pertence ao seu MAC. Os outros hosts acreditam nessa afirmação e atualizam suas tabelas ARP. Isso é chamado de ARP spoofing ou ARP poisoning.
Com ARP poisoning, o atacante pode se colocar no caminho entre a vítima e o gateway padrão, interceptando (e potencialmente modificando) todo o tráfego que passa — um ataque man-in-the-middle clássico.
O DAI quebra esse ataque consultando a binding table do DHCP Snooping. Quando uma mensagem ARP chega em uma porta untrusted, o switch verifica:
- O Sender MAC e o Sender IP do pacote ARP batem com algum registro na binding table?
- Se sim: encaminha normalmente. - Se não: descarta a mensagem.
Assim, um atacante que envie um ARP gratuitous com o IP do gateway terá sua mensagem bloqueada, porque o par IP+MAC não corresponde a nenhum registro legítimo na tabela.
Portas Trusted no DAI
Assim como no DHCP Snooping, é preciso marcar manualmente as portas confiáveis (uplinks para roteadores e outros switches). A diferença de configuração: o DAI não precisa de um comando global de habilitação — basta ativá-lo por VLAN com ip arp inspection vlan.
Verificações Adicionais (Opcionais)
O DAI pode ser configurado para realizar verificações mais profundas com ip arp inspection validate:
- src-mac: compara o MAC de origem do frame Ethernet com o Sender MAC do ARP.
- dst-mac: compara o MAC de destino do frame com o Target MAC do ARP (apenas em respostas).
- ip: rejeita pacotes ARP com IPs inválidos (0.0.0.0, broadcasts, multicast).
Importante: ao configurar múltiplas validações, todas devem ser especificadas em um único comando. Comandos separados se sobrescrevem.
Rate Limiting no DAI
Diferente do DHCP Snooping, o DAI já vem com rate limiting habilitado por padrão em portas untrusted: 15 pacotes por segundo. O DAI também suporta burst interval, permitindo configurações como "25 pacotes a cada 2 segundos" com ip arp inspection limit rate 25 burst-interval 2.
Hosts com IP Estático
Dispositivos que não usam DHCP não terão entrada na binding table. Para que o DAI não bloqueie suas mensagens ARP, é preciso criar ARP ACLs manualmente mapeando o IP ao MAC desses hosts e aplicá-las por VLAN.
Na prática
Configuração básica do DHCP Snooping
SW(config)# ip dhcp snooping
SW(config)# ip dhcp snooping vlan 1
SW(config)# no ip dhcp snooping information option
SW(config)# interface GigabitEthernet0/0
SW(config-if)# ip dhcp snooping trust > O comando no ip dhcp snooping information option desabilita a inserção automática da Option 82. Em redes sem relay agent L3, deixar a Option 82 ativa causa drops silenciosos de mensagens DHCP.
Verificar a binding table
SW# show ip dhcp snooping binding Configuração básica do DAI
SW(config)# ip arp inspection vlan 1
SW(config)# interface GigabitEthernet0/0
SW(config-if)# ip arp inspection trust Ativar validações adicionais do DAI
SW(config)# ip arp inspection validate ip src-mac dst-mac Configurar rate limiting com burst interval
SW(config)# interface GigabitEthernet0/1
SW(config-if)# ip arp inspection limit rate 25 burst-interval 2 Reabilitar interface em err-disabled
SW(config)# errdisable recovery cause dhcp-rate-limit
SW(config)# errdisable recovery cause arp-inspection Verificar DAI
SW# show ip arp inspection interfaces
SW# show ip arp inspection Por que cai no exame
O CCNA cobra DHCP Snooping e DAI juntos porque eles são interdependentes: o DAI depende da binding table criada pelo DHCP Snooping. As questões mais frequentes testam:
- Qual mensagem DHCP é sempre descartada em porta untrusted? — OFFER, ACK e NACK (mensagens de servidor).
- O que o DAI verifica no ARP? — Sender MAC e Sender IP contra a binding table do DHCP Snooping.
- Diferença de configuração entre DHCP Snooping e DAI: snooping precisa de dois comandos (
ip dhcp snooping+ip dhcp snooping vlan); DAI precisa apenas de um (ip arp inspection vlan). - Rate limiting padrão: DHCP Snooping não tem limite padrão; DAI tem 15 pps em portas untrusted por padrão.
- Validate no DAI: múltiplas opções devem ser configuradas em um único comando — comandos separados se sobrescrevem.
Resumo em uma linha
DHCP Snooping bloqueia servidores DHCP falsos filtrando mensagens em portas não confiáveis e criando uma tabela de vínculos IP-MAC que o DAI usa para impedir ARP spoofing antes que um atacante possa desviar o tráfego da rede.