ACLs - Troubleshooting

Método general (de lo mínimo a lo complejo)

  1. ¿La ACL está aplicada en la interface y dirección correctas?
  2. ¿El orden de las reglas es correcto? se evalúan de arriba hacia abajo, la primera que coincide gana.
  3. ¿Falta un permit? recuerda el deny all implícito.
  4. ¿La ubicación es adecuada? estándar cerca del destino, extendida cerca del origen.
  5. 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.