Calculadora de wildcard para ACL

Pasa de máscara a wildcard al instante y convierte cualquier rango de IP en las entradas mínimas de una ACL, listas para copiar en el router.

Máscara → wildcard

Ej.: /26, 255.255.255.192 o 0.0.0.63
Prefijo/26
Máscara255.255.255.192
Wildcard0.0.0.63
  255.255.255.255
− 255.255.255.192
  ---------------
         0.0.0.63

Rango de IP → líneas de ACL

El rango 192.168.1.10 – 192.168.1.20 tiene 11 direcciones y se cubre exactamente con 4 bloques:

Bloque CIDRWildcardDirecciones
192.168.1.10/310.0.0.12
192.168.1.12/300.0.0.34
192.168.1.16/300.0.0.34
192.168.1.20/320.0.0.01

Líneas de ACL estándar (Cisco IOS)

access-list 10 permit 192.168.1.10 0.0.0.1
access-list 10 permit 192.168.1.12 0.0.0.3
access-list 10 permit 192.168.1.16 0.0.0.3
access-list 10 permit host 192.168.1.20

Qué es una máscara wildcard

La wildcard es la máscara de subred invertida: donde la máscara tiene un 1, la wildcard tiene un 0, y al revés. Se usa en las listas de control de acceso (ACL) de Cisco y en la configuración de OSPF y EIGRP para indicar qué bits de la dirección hay que comprobar.

  • Bit 0 en la wildcard: ese bit tiene que coincidir con el de la dirección de la regla.
  • Bit 1 en la wildcard: ese bit da igual.

Para una máscara normal, la wildcard se calcula restando cada octeto de 255: la máscara 255.255.255.192 da la wildcard 0.0.0.63.

Cómo se convierte un rango en entradas de ACL

Una entrada de ACL con wildcard solo puede cubrir un bloque alineado de tamaño potencia de 2. Por eso un rango arbitrario, como de .10 a .20, hay que partirlo en varios bloques. La herramienta busca siempre el bloque más grande posible que empieza en la dirección actual y no se pasa del final del rango, y repite hasta cubrirlo entero. Así se obtiene el mínimo número de líneas.

Con .10 – .20 salen cuatro bloques:

access-list 10 permit 192.168.1.10 0.0.0.1
access-list 10 permit 192.168.1.12 0.0.0.3
access-list 10 permit 192.168.1.16 0.0.0.3
access-list 10 permit host 192.168.1.20

Atajos que conviene conocer

  • host 10.0.0.5 equivale a 10.0.0.5 0.0.0.0: una sola dirección.
  • any equivale a 0.0.0.0 255.255.255.255: cualquier dirección.
  • Recuerda que al final de cada ACL hay un deny any implícito. Si solo escribes líneas permit, todo lo demás queda bloqueado.