ACL (Access Control List) é a forma de controlar tráfego no Cisco IOS.
Cada ACL tem uma lista de regras (ACEs — Access Control Entries) que o roteador avalia de cima para baixo. A primeira regra que casar com o pacote é aplicada. Se nenhuma casar, o implicit deny no final bloqueia o tráfego.
Standard ACL vs Extended ACL
Standard ACL:
- Filtra apenas pelo endereço IP de origem
- Numeração: 1 a 99 e 1300 a 1999
- Deve ser aplicada próxima ao destino (porque só filtra por origem, colocar próxima à fonte bloquearia tráfego demais)
Extended ACL:
- Filtra por origem, destino, protocolo e porta
- Numeração: 100 a 199 e 2000 a 2699
- Deve ser aplicada próxima à origem (filtragem mais precisa, descarta o pacote antes de ele viajar pela rede)
Standard ACL: exemplos
Exemplo 1: bloquear um host específico
Router(config)# access-list 10 deny host 192.168.1.10
Router(config)# access-list 10 permit any
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip access-group 10 out
Bloqueia o host 192.168.1.10 na saída da interface. O permit any é obrigatório — sem ele, o implicit deny bloqueia tudo.
Exemplo 2: permitir apenas uma sub-rede
Router(config)# access-list 20 permit 192.168.10.0 0.0.0.255
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 20 in
Só a rede 192.168.10.0/24 passa. Todo o resto é bloqueado pelo implicit deny.
Extended ACL: exemplos
Exemplo 1: bloquear HTTP de uma sub-rede para um servidor
Router(config)# access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 10.0.0.5 eq 80
Router(config)# access-list 101 permit ip any any
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 101 in
Bloqueia tráfego TCP porta 80 da rede 192.168.1.0/24 para o servidor 10.0.0.5. Permite todo o resto.
Exemplo 2: bloquear ICMP entre duas redes
Router(config)# access-list 102 deny icmp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Router(config)# access-list 102 permit ip any any
Impede ping entre as duas sub-redes. O resto do tráfego passa normalmente.
Exemplo 3: permitir apenas SSH para gerenciamento
Router(config)# access-list 110 permit tcp any host 10.0.0.1 eq 22
Router(config)# access-list 110 deny ip any any log
Só SSH chega ao roteador de gerenciamento. Todo o resto é bloqueado e registrado em log.
Named ACL: configuração mais legível
Em vez de números, você pode usar nomes. Mais fácil de entender e editar:
Router(config)# ip access-list extended BLOQUEIA-HTTP
Router(config-ext-nacl)# deny tcp 192.168.1.0 0.0.0.255 host 10.0.0.5 eq 80
Router(config-ext-nacl)# permit ip any any
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group BLOQUEIA-HTTP in
Com Named ACL você também pode editar regras individuais sem reescrever tudo:
Router(config)# ip access-list extended BLOQUEIA-HTTP
Router(config-ext-nacl)# no 10
Router(config-ext-nacl)# 10 deny tcp 192.168.2.0 0.0.0.255 host 10.0.0.5 eq 80
Onde aplicar a ACL: in vs out
in: avalia o tráfego que está entrando pela interface. O pacote é avaliado antes de ser roteado.
out: avalia o tráfego que já foi roteado e está saindo pela interface.
A regra prática:
Standard ACL perto do destino, direção out. Extended ACL perto da origem, direção in.
Verificação
Router# show access-lists
Extended IP access list 101
10 deny tcp 192.168.1.0 0.0.0.255 host 10.0.0.5 eq www (47 matches)
20 permit ip any any (1823 matches)
Router# show ip interface GigabitEthernet0/0
GigabitEthernet0/0 is up, line protocol is up
Inbound access list is 101
Outbound access list is not set
O campo matches no show access-lists confirma quantos pacotes cada regra processou. Se uma regra de deny está com matches crescendo, ela está bloqueando tráfego ativamente.
O que a prova CCNA cobra
ACL está em Security Fundamentals. Os pontos mais frequentes:
Diferença entre standard e extended. Onde aplicar cada tipo (próxima à origem vs destino). O implicit deny no final de toda ACL. Sintaxe de configuração numbered e named. Direção in vs out na interface. Verificação com show access-lists e show ip interface. Wildcard mask nas regras de ACL.
FAQ
Posso ter mais de uma ACL na mesma interface? Uma por direção. Uma ACL inbound e uma outbound na mesma interface, cada uma pode ser diferente.
O que acontece se eu aplicar uma ACL vazia? Uma ACL sem nenhuma regra explícita tem só o implicit deny. Todo o tráfego é bloqueado.
Como remover uma ACL de uma interface?
Router(config-if)# no ip access-group 101 in
Isso remove a ACL da interface mas não apaga a ACL do sistema. Para apagar:
Router(config)# no access-list 101
▌ ACL é um dos temas de Security Fundamentals do CCNA. O diagnóstico gratuito do PacketPass mostra onde estão suas lacunas por domínio. Resultado na hora, sem cadastro.
Informações baseadas no blueprint CCNA 200-301 atual e documentação oficial da Cisco sobre ACLs.