O que é a máscara wildcard
Em ACLs e no comando network do OSPF e do EIGRP, o Cisco IOS não usa máscara de sub-rede: usa a wildcard (máscara coringa). Cada bit 0 significa "este bit precisa ser igual" e cada bit 1 significa "qualquer valor". Para blocos contíguos ela é simplesmente o inverso da máscara:
255.255.255.255 − 255.255.252.0 = 0.0.3.255
Tabela rápida
| Prefixo | Máscara | Wildcard | Endereços |
|---|---|---|---|
| /16 | 255.255.0.0 | 0.0.255.255 | 65.536 |
| /20 | 255.255.240.0 | 0.0.15.255 | 4.096 |
| /22 | 255.255.252.0 | 0.0.3.255 | 1.024 |
| /24 | 255.255.255.0 | 0.0.0.255 | 256 |
| /26 | 255.255.255.192 | 0.0.0.63 | 64 |
| /28 | 255.255.255.240 | 0.0.0.15 | 16 |
| /30 | 255.255.255.252 | 0.0.0.3 | 4 |
| /32 | 255.255.255.255 | 0.0.0.0 | 1 (equivale a host) |
Exemplos de configuração
! ACL padrão: libera a rede 192.168.1.0/24 access-list 10 permit 192.168.1.0 0.0.0.255 ! ACL estendida nomeada: HTTPS vindo de 10.1.0.0/16 ip access-list extended WEB-IN permit tcp 10.1.0.0 0.0.255.255 any eq 443 ! OSPF: ativa o protocolo nas interfaces dentro de 10.0.0.0/22 router ospf 1 network 10.0.0.0 0.0.3.255 area 0
Junos, MikroTik e Linux (iptables/nftables) usam prefixo em vez de wildcard. No Junos, um filtro equivalente usa source-address 10.1.0.0/16.
Wildcards não contíguas
Como a wildcard é avaliada bit a bit, ela não precisa ser contígua. 10.0.1.0 0.0.254.255 casa com todas as redes 10.0.x.0/24 em que x é ímpar, porque o último bit do terceiro octeto fica fixo em 1. Isso é útil em esquemas que codificam função no endereço (por exemplo, VLANs de voz sempre ímpares). A ferramenta aceita esse formato, conta os endereços casados e avisa que não existe prefixo equivalente. Use com parcimônia: wildcards não contíguas não funcionam em prefix-lists nem em equipamentos de outros fabricantes, e confundem quem lê a configuração depois.
Como a ferramenta interpreta a entrada
/24ou24: prefixo, convertido em wildcard.- Formato pontuado começando com bit 1 (ex.: 255.255.255.0): máscara de sub-rede.
- Formato pontuado começando com bit 0 (ex.: 0.0.0.255): já é wildcard.
Erros comuns
- Usar a máscara no lugar da wildcard:
access-list 10 permit 192.168.1.0 255.255.255.0é aceito pelo IOS, mas casa com qualquer endereço terminado em .0, não com a rede /24. - Endereço base fora da fronteira: em
network 10.0.1.0 0.0.3.255 area 0, o IOS ignora os bits cobertos pela wildcard e o comando passa a valer para 10.0.0.0/22, possivelmente ativando OSPF em interfaces que você não queria. - Esquecer o deny implícito: toda ACL termina com um
deny anyinvisível. Inclua as permissões necessárias antes de aplicar a ACL na interface.