Las ACLs son la primera línea de defensa en una red Cisco. Permiten filtrar tráfico por IP de origen, destino, protocolo y puerto. Aprende la diferencia entre ACLs estándar y extendidas y cómo aplicarlas correctamente.
¿Qué es una ACL?
Una Access Control List (ACL) es una lista ordenada de reglas que el router evalúa secuencialmente para permitir o denegar tráfico. Cada regla se llama ACE (Access Control Entry). La primera regla que coincide gana — el resto se ignoran. Al final de toda ACL hay un deny any implícito que bloquea todo lo que no fue permitido explícitamente.
⚠️ Deny implícito: Si creas una ACL que solo permite 192.168.1.0/24 y la aplicas a una interfaz, el resto del tráfico será bloqueado silenciosamente — incluyendo tu propio acceso de administración. Siempre permite el tráfico de gestión antes de aplicar.
ACL Estándar vs Extendida
| Tipo | Número | Filtra por | Aplicar cerca de |
|---|---|---|---|
| Estándar | 1–99, 1300–1999 | Solo IP origen | Destino |
| Extendida | 100–199, 2000–2699 | IP origen+destino, protocolo, puerto | Origen |
ACL Estándar: sintaxis y ejemplos
! Sintaxis básica
access-list [número] {permit|deny} [ip-origen] [wildcard]
! Permitir solo la red 192.168.1.0/24
access-list 10 permit 192.168.1.0 0.0.0.255
! Denegar un host específico
access-list 10 deny 10.0.0.5
! Permitir todo lo demás (anula el deny implícito)
access-list 10 permit any
! Aplicar en interfaz (inbound = tráfico que entra al router)
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 10 in
💡 Wildcard mask: Es el inverso de la máscara de subred. /24 (255.255.255.0) → wildcard 0.0.0.255. Un 0 en el wildcard significa "debe coincidir exactamente", un 1 significa "no importa". Para un host: wildcard 0.0.0.0. Para cualquiera: wildcard 255.255.255.255.
ACL Extendida: más control
! Bloquear HTTP (puerto 80) desde la red 10.0.0.0/8 hacia cualquier destino
access-list 101 deny tcp 10.0.0.0 0.255.255.255 any eq 80
! Permitir SSH solo desde 192.168.1.100 hacia el router
access-list 101 permit tcp host 192.168.1.100 host 203.0.113.1 eq 22
! Permitir ICMP (ping)
access-list 101 permit icmp any any
! Bloquear todo Telnet (inseguro)
access-list 101 deny tcp any any eq 23
! Permitir el resto del tráfico
access-list 101 permit ip any any
! Aplicar cerca del origen (interfaz de entrada del tráfico problemático)
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip access-group 101 in
ACLs Nombradas (Named ACLs)
Las ACLs con número tienen un problema: no se pueden eliminar entradas individuales. Las ACLs nombradas solucionan esto:
! Crear ACL nombrada extendida
Router(config)# ip access-list extended BLOQUEO-WEB
Router(config-ext-nacl)# deny tcp any any eq 80
Router(config-ext-nacl)# deny tcp any any eq 443
Router(config-ext-nacl)# permit ip any any
! Eliminar una entrada específica (línea 10)
Router(config-ext-nacl)# no 10
! Ver ACLs configuradas con estadísticas
Router# show ip access-lists
"Una red sin ACLs es una casa sin puertas. Cualquiera puede entrar, salir y moverse sin restricción."