Subnet Academy
CCNA v2.0
CCNA v2.0/Módulo 10 · Seguridad de red

0% del curso completado

Lectura

ACLs IPv4 I: estándar, numeradas y con nombre (4.6 parcial)

📋 En esta lección

Las ACLs son el mecanismo de filtrado fundamental de IOS — y un lenguaje que ya has visto asomar en NAT, OSPF y las líneas VTY. Aquí construyes la base: cómo se evalúa una ACL (orden, primera coincidencia, deny implícito), las wildcards de una vez por todas, las ACLs estándar numeradas y con nombre, y las dos reglas de colocación que evitan los desastres clásicos.

Qué es una ACL

Una ACL (Access Control List) es una lista ordenada de reglas permit/deny que se compara contra cada paquete. Sus empleos: filtrar tráfico en interfaces (el de este par de lecciones), y seleccionar tráfico para otros procesos — ya la usaste eligiendo quién se traduce en NAT (8.3), quién alcanza las VTY (access-class, 10.2) y qué interfaces participan en OSPF (7.4). La sintaxis es una; los clientes, muchos.

Las tres reglas de evaluación

Grábalas — todo el comportamiento de las ACLs deriva de ellas:

  1. De arriba abajo, primera coincidencia gana. El paquete se compara contra cada línea en orden; la primera que casa decide (permit o deny) y se deja de evaluar. Las líneas posteriores no existen para ese paquete.
  2. Deny implícito al final. Toda ACL termina con un deny any invisible: lo no permitido explícitamente, se descarta. Una ACL con solo denies bloquea todo (los denies + el implícito). Corolario: toda ACL de filtrado necesita al menos un permit.
  3. El orden importa: de lo específico a lo general. Si la línea general va primero, la específica de después jamás se evalúa — el clásico "permit de la red entera antes que el deny del host problemático" que deja el deny muerto.

Wildcards: cerrando el círculo

La wildcard mask de la lección 4.1, ahora en su hábitat: bit a 0 = "debe coincidir", bit a 1 = "me da igual".

host 10.1.10.50        =  10.1.10.50  0.0.0.0      ← un host exacto
10.1.10.0  0.0.0.255   =  la subred /24
10.1.0.0   0.0.255.255 =  el /16
any                    =  0.0.0.0  255.255.255.255 ← todo

El atajo de siempre: wildcard = 255.255.255.255 − máscara. Y las palabras clave host y any hacen legible el 90% de las líneas reales.

ACL estándar: filtrar por origen

La ACL estándar solo mira la IP de origen — nada más. Numeradas 1-99 (y 1300-1999):

R1(config)# access-list 10 remark === Bloquear la red de invitados hacia servidores ===
R1(config)# access-list 10 deny 10.9.50.0 0.0.0.255
R1(config)# access-list 10 permit any

Línea a línea: el remark documenta (tu yo del futuro lo agradece); el deny corta a los invitados; el permit any final es imprescindible — sin él, el deny implícito bloquearía también a todos los demás.

Aplicarla: interfaz y dirección

Una ACL no hace nada hasta aplicarse — a una interfaz, en una dirección:

R1(config)# interface GigabitEthernet0/2
R1(config-if)# ip access-group 10 out     ← filtra lo que SALE por Gi0/2

in = el tráfico que entra al router por esa interfaz (se filtra antes de enrutar); out = el que sale por ella (después de enrutar). El punto de vista es siempre el del router — la fuente clásica de confusión: el tráfico de los PCs hacia el router entra (in) por la interfaz LAN, y sale (out) por la interfaz hacia los servidores.

La regla de colocación de las estándar

Una estándar solo sabe de dónde viene el paquete — no a dónde va. Colocada cerca del origen, bloquearía al origen hacia todos los destinos (incluidos los legítimos). Por eso: estándar, cerca del DESTINO — en la última interfaz antes del recurso protegido, donde el daño colateral es cero. (La extendida, que sabe origen y destino, se coloca cerca del origen — próxima lección.)

Una interfaz admite una ACL por protocolo y dirección (una IPv4 in, una IPv4 out) — la política de esa interfaz vive en una sola lista.

ACLs con nombre: la forma moderna

Las numeradas funcionan, pero access-list 10 no cuenta qué hace. Las named ACLs dan nombre y editor:

R1(config)# ip access-list standard INVITADOS-NO-SERVIDORES
R1(config-std-nacl)# 10 deny 10.9.50.0 0.0.0.255
R1(config-std-nacl)# 20 permit any

Las dos ventajas operativas:

  • Nombre descriptivo — la config se autodocumenta.
  • Números de secuencia editables: puedes insertar una línea entre dos existentes (15 deny host 10.9.50.99) o borrar una concreta (no 10) sin tocar el resto. Con las numeradas clásicas, editar significaba borrar la ACL entera y reescribirla (y en el hueco entre borrar y reescribir... la interfaz quedaba sin filtro — sí, eso ha causado incidentes). Los números por defecto van de 10 en 10, dejando hueco para insertar.

(Truco actual: las numeradas también aceptan edición por secuencia entrando con ip access-list standard 10 — el modo con nombre para una lista numerada.)

Verificación

R1# show access-lists
Standard IP access list INVITADOS-NO-SERVIDORES
    10 deny   10.9.50.0, wildcard bits 0.0.0.255 (247 matches)
    20 permit any (18734 matches)

R1# show ip interface Gi0/2 | include access list
  Outgoing access list is INVITADOS-NO-SERVIDORES

Los contadores de matches son tu detector: una línea con 0 matches eternos o no recibe ese tráfico… o está después de otra que ya lo caza (regla 1). Y show ip interface responde la otra mitad: ¿está aplicada, y en qué dirección? — una ACL perfecta sin access-group filtra exactamente nada.

Relación con otros conceptos

  • Las wildcards son las de 4.1/7.4; el access-class de las VTY (10.2) era una estándar con otro verbo de aplicación.
  • La selección de tráfico para NAT (8.3) usaba esta misma sintaxis — ahora entiendes sus reglas de evaluación.
  • Las extendidas (protocolo, destino, puertos) y los casos reales completos: próxima lección — junto con dónde colocarlas.
  • El aislamiento de invitados/IoT que las VLANs prometían (5.1, 9.5) se materializa exactamente aquí.

Resumen

ACL = lista ordenada de permit/deny: primera coincidencia gana, deny implícito final (siempre hace falta un permit), específico antes que general. Wildcards: 0 = coincide, 1 = da igual (host, any como atajos). Estándar (1-99): filtra solo por origen → se coloca cerca del destino para no causar daño colateral. Se aplica con ip access-group <acl> in|out — dirección siempre desde el punto de vista del router, una ACL por protocolo y dirección. Con nombre (ip access-list standard NOMBRE): autodocumentada y editable por números de secuencia (insertar/borrar líneas sin reescribir la lista). Verifica con show access-lists (contadores de matches — el detector de líneas muertas) y show ip interface (¿aplicada?, ¿dirección?).

Fuentes oficiales

Quiz

Comprueba lo que has aprendido

1.Una ACL tiene: (10) permit 10.1.0.0 0.0.255.255 y (20) deny host 10.1.10.99. ¿Qué pasa con el tráfico de ese host?

2.Configuras una ACL con un único `deny 10.9.50.0 0.0.0.255` y la aplicas. ¿Resultado?

3.¿Qué wildcard selecciona exactamente la subred 172.16.32.0/21?

4.¿Por qué las ACLs estándar se colocan cerca del destino?

5.¿Qué ventaja operativa decisiva aportan las ACLs con nombre y los números de secuencia?

6.Tu línea deny lleva semanas con 0 coincidencias y el tráfico sigue pasando. ¿Las dos hipótesis?

← Anterior
AAA con TACACS+ y RADIUS (4.1)