Você já precisou resolver um exercício ou criar uma ACL em seu roteador e empacou na hora de descobrir que máscara curinga utilizar na lista de controle de acesso?
Eu sei que ACL ou Access Control List no Cisco IOS é um assunto que assusta muitos alunos e profissionais da área, porém vou ensinar quatro “macetes” (daqueles estilo cursinho) que você vai poder utilizar tanto em provas de certificação como na sua vida prática para calcular máscara curinga.
Quando você leu no título que esses quatro macetes resolvem 99% dos exercícios que envolvem ACL é realmente isso mesmo, não tem exagero nessa informação, minha prática como tutor tem mostrado que com esses 4 macetes é possível sim resolver maioria dos problemas que envolvem listas de controle de acesso.
Nesse artigo você vai aprender os seguintes assuntos sobre máscara curinga em Cisco IOS:
- Diferença entre Máscara de Sub-rede e Máscara Curinga
- Máscara Curinga para Todos os Hosts
- Máscara Curinga para Selecionar Apenas Um Hosts
- Máscara Curinga por Classe de IP
- Selecionando uma Sub-rede específica
- Resumão
- Dicas e Conclusões
Durante esse artigo você vai aprender os macetes e exemplos práticos de como utilizá-los, afinal teoria sem prática fica chato…
Também no final desse artigo vou indicar outros posts que temos sobre ACL para ajudar nos seus estudos, por isso leia o artigo todo e não deixe de conferir minhas indicações lá nas dicas e conclusões.
Aperte o cinto e vamos começar!
Diferença entre Máscara de Sub-rede e Máscara Curinga
Antes de iniciar os macetes você precisa entender a relação ou diferença entre as máscaras de rede ou sub-rede e as máscaras curinga, pois apesar de parecidas elas tem significado diferente para o Cisco IOS.
Primeiro que a máscara de rede é utilizada nos comandos de configuração de rotas (ip route) e interfaces (ip address).
No caso das listas de controle de acesso elas são utilizadas nas próprias ACLs e também alguns protocolos de roteamento (comando network).
Outro ponto fundamental é que a máscara de rede tem a função de indicar a porção de rede e host de um endereço IP, pois os bit 1 na máscara representam a rede e os bits zero a porção de host.
Por exemplo, no endereço 192.168.1.1/24 (255.255.255.0) temos que a porção de rede é “192.168.1” e a de host é “.1”.
O roteador consegue tirar essa informação fazendo um AND lógico entre a máscara e o endereço IP.
Na ACL utilizamos também um endereço IP ou rede ou sub-rede e a máscara curinga, porém aqui essa máscara é uma “ferramenta de seleção por comparação“, você vai entender isso a seguir.
A máscara curinga indica com os bits zero que deve haver uma correlação entre o endereço a ser testado e o configurado para teste, enquanto o bit 1 faz com que essa verificação seja ignorada.
Por exemplo, uma ACL com IP e máscara curinga “10.0.0.0 0.0.0.255” indica que para o teste ser considerado válido os três primeiros octetos devem ser exatamente “10.0.0” e no último octeto tanto faz (pode ser de zero a 255).
Apesar da simplificação feita por octeto essa comparação na prática é realizada bit a bit.
Por exemplo, no primeiro octeto temos 10 (em binário 00001010) e na máscara 0 (em binário 00000000), portanto quando chegar um pacote IP no roteador ele será comparado bit a bit em cada um dos octetos para ver se ele confere com o teste ou não.
Veja figura abaixo que representa o processo de “match” da ACL (match = teste bateu ou foi validado).
Se bater (der match) o roteador faz o que está configurado na ACL que é permitir ou negar acesso ao pacote, caso não confira ou não “bata” o roteador testa o pacote com a próxima linha da ACL até que todas as condições configuradas se acabem.
Agora vamos aplicar esses conceitos nos quatro macetes para ajudar a acelerar seu processo de escolha da máscara curinga em exercícios ou desafios de trabalho que você possa enfrentar.
Vamos lá!
Máscara Curinga para Todos os Hosts
Para selecionar todos os hosts, ou seja, uma condição da ACL que dê match em quaisquer endereços que estão sendo testados pela lista, você simplesmente deve ignorar qualquer coisa que venha como entrada no seu teste.
Para isso basta utilizar uma máscara com todos os bits setados em “1”, pois assim o que vier no pacote de entrada para comparação a máscara curinga vai validar.
Em formato de máscara essa condição fica com o endereço 0.0.0.0 e a máscara 255.255.255.255.
Outra opção que a ACL permite utilizar é o mnemônico “any“.
Por exemplo, você precisa criar no final de uma ACL IP Padrão uma regra para liberar quaisquer pacotes, nesse caso você pode utilizar essas opções:
- access-list 1 permit any
- access-list 1 permit 0.0.0.0 255.255.255.255
Outro exemplo é para liberar quaisquer endereços de origem ou destino em uma ACL estendida, suponha que a regra diz que quaisquer origens podem acessar o serviço de HTTP em quaisquer destinos da rede, veja como fica o comando abaixo nos dois formatos:
- access-list 100 permit tcp any any eq 80
- access-list 100 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 80
Você pode até combinar o any com a máscara escrita por extenso que tem o mesmo efeito:
- access-list 100 permit tcp any 0.0.0.0 255.255.255.255 eq 80
- access-list 100 permit tcp 0.0.0.0 255.255.255.255 any eq 80
Para provas de certificação como CCENT, ICND-2 e CCNAX você precisa saber tanto o mnemônico como a forma extensa, pois são conceitos que podem ser cobrados para saber se o candidato a certificação sabe mesmo das coisas.
Na prática utilizamos o “any”, pois é mais simples de escrever e lembrar.
Máscara Curinga para Selecionar Apenas Um Hosts
Para selecionar um host específico é só pensar ao contrário do que estudamos anteriormente.
Para selecionar apenas um host precisamos que cada bit seja verificado, ou seja, que todos os bits no endereço a ser testado sejam iguais aos que configuramos como IP na ACL.
Para isso é só utilizar o próprio endereço e uma máscara curinga com todos os bits iguais a zero, pois assim o roteador só vai validar (dar match) se tudo bater.
Por exemplo, queremos que apenas comunicações com o host de origem 192.168.1.1 sejam permitidas em uma ACL IP padrão, veja como fica o comando abaixo:
- access-lis 1 permit 192.168.1.1 0.0.0.0
Assim como para a seleção de todos os hosts, para selecionar apenas um host também tem um mnemônico para facilitar a criação das listas.
Para isso basta digitar “host” e o endereço IP do host específico, veja como fica o exemplo anterior com essa opção:
- access-lis 1 permit host 192.168.1.1
Agora que já estudamos como selecionar quaisquer hosts e um host específico vamos ver como criar máscaras por classe de IP (A, B e C).
Máscara Curinga por Classe de IP
O macete para descobrir a máscara por classe é muito simples, basta inverter o 255 por zero e o zero por 255 e “badabum” já está resolvido, simples assim…
Então vamos relembrar as máscaras de rede por classe:
- Classe A: 255.0.0.0 ou /8
- Classe B: 255.255.0.0 ou /16
- Classe C: 255.255.255.0 ou /24
Agora é só inverter que vamos ter a máscara curinga de cada classe:
- Classe A: 255.0.0.0 > vira > 0.255.255.255
- Classe B: 255.255.0.0 > vira > 0.0.255.255
- Classe C: 255.255.255.0 > vira > 0.0.0.255
Por exemplo, você deve bloquear endereços da classe C 192.168.1.0/24 em uma ACL IP padrão, veja como fica o statement (condição):
- access-list 10 deny 192.168.1.0 0.0.0.255
O mesmo conceito pode ser aplicado no caso de sub-redes, o que vamos estudar a seguir!
Selecionando uma Sub-rede Específica
Podemos fazer a mesma inversão para descobrir qual a máscara curinga de uma sub-rede ou prefixo CIDR específico.
Basta você inverter onde é zero por um e onde é um por zero na máscara de sub-rede ou prefixo CIDR que sai a máscara curinga, simples assim.
Porém tenho um macete muito mais simples! 🙂
Para descobrir a máscara curinga de uma sub-rede basta você diminuir o broadcast (255.255.255.255) da máscara de sub-rede em questão.
Também é preciso utilizar como endereço de teste na ACL o endereço de rede daquela sub-rede ou bloco CIDR, nunca esqueça disso!
Por exemplo, para selecionar a sub-rede 192.168.1.0/28 (255.255.255.240) temos que fazer seguinte conta: “255.255.255.255 – 255.255.255.240 = 0.0.0.15“.
Portando a ACL teria “192.168.1.0 0.0.0.15” como endereço e máscara respectivamente.
Resumão
Abaixo segue um resumão dos 4 macetes que estudamos no artigo.
Dicas e Conclusões
Esses macetes e muitos outros ensino para nossos alunos do curso CCNA CCENT, você pode conhecer nosso curso fazendo um testdrive gratuito.
Basta se cadastrar em nosso site clicando aqui e depois vá no menu Cursos, encontre o CCNA CCENT e ative o Testdrive.
Se você tiver dificuldades em ativar tem uma menu chamado “Comece Aqui” com vídeos que ensinam a fazer tudo em nossa plataforma, é bem fácil.
Conforme prometi no começo do artigo seguem alguns posts sobre ACL para ajudar em seus estudos:
- 4 Sacadas para Você Dominar ACL em Certificações Cisco
- Exemplo de ACL IP Padrão
- Exemplo de ACL IP Estendida
- Exemplo de ACL Temporizada (Time Based)
Espero que o artigo tenha sido útil e aguardo seus comentários, dúvidas ou sugestões no final dessa página na área de comentários!
É só descer um pouco que você encontra a área de comentários está lá embaixo…
Claro que você também pode usar os botões de compartilhamento se achar que o artigo vai ser útil para seus amigos.
Que a força esteja com você e até uma próxima!
Prof Marcelo Nascimento
Acesse o curso de “CCNA CCENT Online” em nossa área Premium.
Aprenda a teoria e a prática de redes em roteadores e switches Cisco que utilizam o sistema operacional Cisco IOS.
Clique aqui para ativar o curso e inciar seus estudos em nossa área de membros premium!
Não é membro premium? Clique aqui e saiba mais sobre a DlteC Premium.
2 Responses
Boa tarde, muito bom esse seu artigo.
Mas acredito que na seção: “Máscara coringa por classe IP” você possa ter digitado errado a conversão da máscara coringa para classe de IP A.
Em vez de ser: Classe A: 255.0.0.0 > vira > 0.255.255.255, você colocou:
Classe A: 255.0.0.0 > vira > 0.0.0.255
Ou estou errado?
Obrigado.
Oi Marciano, já está OK, valeu pela mensagem!