ACLs - Troubleshooting
Método general (de lo mínimo a lo complejo)
- ¿La ACL está aplicada en la interface y dirección correctas?
- ¿El orden de las reglas es correcto? se evalúan de arriba hacia abajo, la primera que coincide gana.
- ¿Falta un
permit? recuerda el deny all implícito. - ¿La ubicación es adecuada? estándar cerca del destino, extendida cerca del origen.
- Revisa los matches para ver qué regla está actuando.
Comando base:
Router# show ip access-list
Router# show ip interface fastEthernet 0/0
Caso 1 — Se bloquea tráfico legítimo (todo se cae)
Síntoma: al aplicar la ACL, se corta más de lo esperado.
Causa: el deny all implícito descarta todo lo que no se permitió; falta un permit.
Diagnóstico:
Router# show ip access-list ! ¿hay un permit al final? ¿matches?
Solución: agregar el permit necesario (por ejemplo permit any o permit ip any any para lo demás).
Router(config)# access-list 10 permit any
Caso 2 — El orden de las reglas está mal
Síntoma: una regla no surte efecto porque otra anterior ya decidió.
Causa: las ACL se evalúan de arriba hacia abajo; la primera coincidencia gana. Un permit any antes de un deny específico anula el deny.
Diagnóstico:
Router# show ip access-list ! ver el orden y los matches por línea
Solución: reordenar. En ACL nombradas se pueden usar números de secuencia para insertar reglas en el lugar correcto.
Router(config)# ip access-list extended MI-ACL
Router(config-ext-nacl)# 15 deny tcp any host 172.16.10.10 eq 23
Caso 3 — La ACL no filtra nada (matches en 0)
Síntoma: el tráfico pasa como si la ACL no existiera.
Causas:
- No está aplicada (
ip access-group) en la interface, o está en la dirección equivocada (in/out). - Está aplicada en la interface equivocada.
Diagnóstico:
Router# show ip interface fastEthernet 0/0 ! ¿Inbound/Outgoing access list?
Router# show ip access-list ! matches en 0
Solución: aplicar en la interface y dirección correctas.
Router(config)# interface fastEthernet 0/0
Router(config-if)# ip access-group 100 in
Caso 4 — Ubicación incorrecta de la ACL
Síntoma: una ACL estándar bloquea tráfico hacia destinos que no debía.
Causa: una ACL estándar (solo mira origen) colocada cerca del origen bloquea ese origen hacia TODOS los destinos.
Solución: mover la ACL estándar cerca del destino; o usar una ACL extendida (que sí distingue destino) cerca del origen.
Caso 5 — La ACL extendida no coincide con el tráfico esperado
Síntoma: el deny tcp ... eq 23 no bloquea Telnet.
Causas:
- Protocolo incorrecto (Telnet es TCP, no UDP).
- Puerto en el lado equivocado (origen vs destino).
- Wildcard mal calculado.
Diagnóstico:
Router# show ip access-list ! ¿suben los matches del deny?
Solución: revisar protocolo, que el eq 23 esté en el destino, y el wildcard.
Router(config)# access-list 100 deny tcp 10.20.50.0 0.0.0.255 host 172.16.10.10 eq 23
Caso 6 — ACL IPv6 no aplica
Síntoma: la ACL IPv6 no filtra.
Causa: se aplicó con ip access-group en vez de ipv6 traffic-filter.
Solución:
Router(config-if)# ipv6 traffic-filter BLOQUEO-V6 in
Recuerda el orden: aplicada en interface/dirección correcta, orden de reglas, permit para lo legítimo (deny implícito), ubicación (estándar cerca del destino / extendida cerca del origen), y revisar los matches.