Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tutosrive/redes-de-datos-2026-1/llms.txt

Use this file to discover all available pages before exploring further.

Las ACLs (Access Control Lists) son el mecanismo de seguridad básico en Cisco IOS. Son listas ordenadas de reglas que un router evalúa para permitir (permit) o denegar (deny) el tráfico de red basándose en parámetros como la dirección IP origen, la dirección IP destino, el protocolo o el puerto. Se aplican en las interfaces del router para controlar qué tráfico puede entrar (in) o salir (out) por cada interfaz, constituyendo la primera línea de defensa en el control de acceso a la red.

Reglas Fundamentales

Antes de configurar cualquier ACL, es imprescindible entender cómo las procesa Cisco IOS:
  • Procesamiento de arriba hacia abajo: el router evalúa las sentencias de la ACL en orden secuencial. En cuanto una sentencia coincide con el paquete, se ejecuta la acción (permit o deny) y se deja de evaluar el resto de la lista.
  • Deny implícito al final: toda ACL en Cisco IOS tiene una sentencia deny ip any any implícita e invisible al final. Si ninguna sentencia de la lista coincide con un paquete, este es descartado automáticamente.
  • Ubicación de ACLs estándar: deben colocarse lo más cerca del destino posible, ya que solo filtran por IP origen y podrían bloquear tráfico legítimo si se colocan cerca del origen.
  • Ubicación de ACLs extendidas: deben colocarse lo más cerca del origen posible, para descartar el tráfico no deseado lo antes posible y no consumir ancho de banda innecesariamente.
Toda ACL en Cisco IOS termina con un deny ip any any implícito. Si creas una ACL y la aplicas a una interfaz sin incluir al menos un permit explícito para el tráfico que debe pasar, todo el tráfico será bloqueado, incluyendo el tráfico de gestión (SSH, Telnet). Ten especial cuidado al aplicar ACLs en interfaces de acceso remoto.

ACLs Estándar (números 1–99)

Las ACLs estándar filtran el tráfico únicamente en función de la dirección IP origen del paquete. Son las más simples y se usan cuando el criterio de filtrado es solo quién envía el tráfico. Sintaxis:
Router(config)# access-list [número] {permit | deny} [ip_origen] [wildcard]
Ejemplo: permitir el bloque 188.98.0.0/16 y denegar todo lo demás.
access-list 10 permit 188.98.0.0 0.0.255.255
access-list 10 deny any
  • La primera línea permite todo el tráfico proveniente de la red 188.98.0.0 con máscara wildcard 0.0.255.255 (equivalente a /16).
  • La segunda línea deniega explícitamente cualquier otro origen (aunque esta línea sea redundante con el deny implícito, se recomienda incluirla para mayor claridad).

ACLs Extendidas (números 100–199)

Las ACLs extendidas ofrecen un control mucho más granular: filtran por protocolo (TCP, UDP, ICMP, IP), IP origen, IP destino y opcionalmente por puerto (origen o destino). Sintaxis general:
Router(config)# access-list [número] {permit | deny} [protocolo] [origen] [wildcard_origen] [destino] [wildcard_destino] [eq puerto]
Ejemplo: permitir únicamente tráfico HTTP hacia un servidor específico y denegar todo lo demás.
! Permitir solo tráfico HTTP hacia servidor
access-list 104 permit tcp any host 201.33.44.55 eq 80
access-list 104 deny ip any any
  • tcp: solo se evalúan paquetes con protocolo TCP.
  • any: cualquier IP origen.
  • host 201.33.44.55: destino exacto (equivalente a 201.33.44.55 0.0.0.0).
  • eq 80: solo el puerto de destino 80 (HTTP).
Otros ejemplos de puertos comunes:
! Permitir HTTPS (443) hacia el mismo servidor
access-list 104 permit tcp any host 201.33.44.55 eq 443

! Permitir DNS (UDP puerto 53) hacia un servidor DNS
access-list 104 permit udp any host 201.33.44.55 eq 53

! Permitir ping (ICMP) desde una red específica
access-list 104 permit icmp 192.168.1.0 0.0.0.255 any

ACLs con Nombre

Las ACLs con nombre son la forma moderna y recomendada de crear ACLs en Cisco IOS. Presentan varias ventajas sobre las numeradas:
  • El nombre es descriptivo y facilita identificar el propósito de la ACL.
  • Permiten agregar y eliminar sentencias individuales usando números de secuencia, sin necesidad de borrar y recrear toda la lista.

Crear una ACL con nombre

! ACL estándar con nombre
Router(config)# ip access-list standard [nombre_acl]
Router(config-std-nacl)# permit 192.168.1.0 0.0.0.255
Router(config-std-nacl)# deny any

! ACL extendida con nombre
Router(config)# ip access-list extended [nombre_acl]
Router(config-ext-nacl)# permit tcp any host 201.33.44.55 eq 80
Router(config-ext-nacl)# deny ip any any

Editar sentencias con números de secuencia

Los números de secuencia permiten insertar reglas en posiciones específicas o eliminar reglas individuales:
! Insertar una nueva regla en la posición 50
R1(config-ext-nacl)# 50 permit ip any any

! Eliminar únicamente la regla en la posición 50
R1(config-ext-nacl)# no 50
Usar números de secuencia en las ACLs con nombre es la mejor práctica para ambientes de producción: permite insertar o eliminar reglas sin recrear toda la lista, lo que evita interrupciones del servicio. Deja espacios entre secuencias (10, 20, 30…) para poder insertar reglas intermedias en el futuro sin renumerar.

Aplicar una ACL a una Interfaz

Una ACL no tiene efecto hasta que se aplica a una interfaz y se especifica la dirección del tráfico que debe filtrar:
Router(config)# interface [interfaz]
Router(config-if)# ip access-group [nombre_o_número] {in | out}
  • in: filtra el tráfico que entra a la interfaz (antes de ser enrutado).
  • out: filtra el tráfico que sale por la interfaz (después de ser enrutado).
Ejemplo — aplicar ACL estándar saliente para restricción de acceso:
Router(config)# interface FastEthernet0/1
Router(config-if)# ip access-group 10 out
Ejemplo — aplicar ACL extendida entrante para filtrar tráfico en la WAN:
Router(config)# interface Serial0/1/0
Router(config-if)# ip access-group 104 in
Ejemplo — aplicar ACL extendida con nombre en una VLAN:
Router(config)# interface vlan 30
Router(config-if)# ip access-group wifi in
Solo se puede aplicar una ACL por interfaz por dirección (una in y una out como máximo por interfaz).

Máscaras Wildcard

La máscara wildcard es el complemento de la máscara de subred y se usa en las ACLs para indicar qué bits de la dirección IP deben coincidir (0 = debe coincidir, 1 = no importa).
WildcardEquivalente CIDRSignificado
0.0.0.0host exactoSolo esa IP específica (equivale a host)
0.0.0.255/24Toda una red /24 (256 direcciones)
0.0.255.255/16Toda una red /16 (65 536 direcciones)
255.255.255.255anyCualquier IP (equivale a any)
Ejemplos de uso:
! Solo el host 10.0.0.1
access-list 10 permit 10.0.0.1 0.0.0.0
! Equivalente abreviado:
access-list 10 permit host 10.0.0.1

! Toda la red 192.168.0.0/24
access-list 10 permit 192.168.0.0 0.0.0.255

! Toda la red 10.0.0.0/16
access-list 10 permit 10.0.0.0 0.0.255.255

! Cualquier dirección IP
access-list 10 permit 0.0.0.0 255.255.255.255
! Equivalente abreviado:
access-list 10 permit any

Verificación de ACLs

! Ver todas las ACLs configuradas con sus contadores de coincidencias
Router# show ip access-lists

! Ver solo las ACLs en la configuración en ejecución
Router# show running-config | include access-list

! Ver las ACLs aplicadas a las interfaces
Router# show ip interface FastEthernet0/1
La salida de show ip access-lists incluye un contador de coincidencias por cada sentencia, lo que facilita verificar si la ACL está siendo procesada:
Router# show ip access-lists
Extended IP access list 104
    10 permit tcp any host 201.33.44.55 eq 80 (45 matches)
    20 permit tcp any host 201.33.44.55 eq 443 (12 matches)
    30 deny ip any any (8 matches)

Material de Referencia

El documento Fundamentos de ACLs-2.pdf está disponible en la carpeta teoria/ del repositorio del curso y contiene la teoría oficial sobre las listas de control de acceso usada en clase. Para practicar la configuración de ACLs en un entorno simulado, el archivo RED EJEMPLO.pkt en Packet-Tracer/from-teacher/simulaciones/ contiene una topología de red completa donde se aplican ACLs estándar y extendidas sobre distintas VLANs.

Build docs developers (and LLMs) love