domingo, 25 de julho de 2010

Filtragem de Redes por Route Map



Neste tópico vou abordar a filtragem de redes por Route Map.

Fonte de estudos: CCNP ROUTE 642-902 Official Certification Guide (Wendell Odom, CCIE 1624), GNS3 com imagem (c3725-jk9s-mz.123-22), www.cisco.com.

A filtragem de redes usando Route Map oferece muitas funcionalidades similares as já estudadas na filtragem de rotas por ACLs e Prefix-list.

Route map é a terceira e ultima forma de filtrar rotas dentre as que nos já estudamos. Este método oferece uma lógica similar a de programação com If/Then/Else. Apesar de muitas funcionalidades, no contesto específico que estamos estudando, esta técnica não nos trará muitas novidades na filtragem de rotas. Route map é até um pouco mais difícil de empregar, pois sua lógica não é tão clara quanto as já apresentadas para a filtragem de rotas até o momento. O recurso de route-map é melhor utilizado quando o empregamos em por exemplo, durante um processo de redistribuição de rotas, ou para influenciar na escolha de rotas em protocolo BGP, mais isto será discutido em assuntos futuros.

Vamos agora entender como funciona o Route-Map, mais com um pouco de atenção pois esta técnica empregada na filtragem de rotas pode ser um pouco confusa de entender.

Route-map funciona em conjunto com o que já discutimos em outros artigos até agora. Ele trabalha com Access-list (ACLs) e Prefix-list. Assim como os métodos anteriores, ele é configurado em modo global [ R1(config)# ], e no final, é referenciado no modo de configuração de protocolo de roteamento, pelo já conhecido comando 'distribute-list'. Vamos conhecer a estrutura do route-map.

------------------------------------------------------------

R1(config)#route-map nome_do_filtro deny 10
match "primeiro critério usado na filtragem"

R1(config)#route-map nome_do_filtro permit 20
match "segundo critério usado na filtragem"

R1(config)#route-map nome_do_filtro deny 30
match "terceiro critério usado na filtragem"

R1(config)#route-map nome_do_filtro permit 40
.
.
.
R1(config)#router eigrp 100
R1(config-router)#distribute-list route-map nome_do_filtro (in ou out)

------------------------------------------------------------

Vamos analisar tudo o que foi visto aqui. Primeiro, em modo de configuração global, chamamos o procedimento route-map [ R1(config)#route-map ], em seguida demos um nome a este procedimento para reconhecermos e chamar-mos o conjunto de filtros que criamos [nome_do_filtro] e por ultimo, colocamos o número da seqüência da nossa lista de comandos. Lembrando que o IOS atribui ele mesmo uma seqüência ao seu route-map caso você não faça, e também, que na hora em que o roteador estiver utilizando nosso filtro, e ele encontrar uma rota que combine com o filtro, e esta rota seja processada de acordo com o que designamos para ela (permit ou deny), o nosso roteador irá parar de processar nossa route-map, mesmo que ainda haja comandos no nosso filtro (como eu disse, meio enroladinho o assunto...).

Ao prosseguir os comandos vemos que no primeiro comando dado, o de seqüência 10, dizemos ao nosso filtro para bloquear a rota, ou as rotas que combinarem com o nosso comando 'match'. Na continuando, nos permitimos o que combinar com o nosso filtro na seqüência 20, e mais uma vez bloqueamos na seqüência 30, lembrando que estas seqüências ficam à total critério de vocês, onde a única seqüência obrigatória nisso tudo é a ultima, a 40, pois assim como em listas de acesso, nosso route-map também possui um 'deny' implícito, ou seja, ele tem por natureza a função de barrar toda e qualquer rede, estando ou não no seu filtro, então nos utilizamos a ultima seqüência para dar um 'permit' onde isso dirá ao nosso route-map para filtrar apenas o que estiver em seus comandos, e permitindo a passagem de todo o resto, aquilo que não é alvo de nosso filtro de rotas. Por fim, mais não menos importante, o nosso comando 'match', aqui onde colocamos "primeiro critério usado na filtragem", aqui é onde você utiliza os métodos de filtragem já abordados anteriormente. Ao seu critério você pode utilizar listas de acesso ou prefix-list, e chamá-las no comando match. Vamos ver como ficaria a filtragem de rotas EIGRP utilizando o route-map.

------------------------------------------------------------

R1(config)# ip prefix-list bruno_redes seq 10 permit 172.16.10.0/24 ge 28 le 28
!
R1(config)# ip prefix-list bruno_wan seq 20 permit 0.0.0.0/0 ge 30 le 30
!
!
!
R1(config)#route-map filtro_de_redes deny 5
R1(config-route-map)#match ip address prefix-list bruno_redes
!
R1(config)#route-map filtro_de_redes deny 10
R1(config-route-map)#match ip address prefix-list bruno_wan
!
R1(config)#route-map filtro_de_redes permit 15
!
!
!
R1(config)#router eigrp 100
R1(config-router)#distribute-list route-map filtro_de_redes out

------------------------------------------------------------

Bom, aqui como podemos perceber, o trabalho todo se deu basicamente em três etapas. A primeira etapa foi quando criamos nossas prefix-list. Neste momento indicamos quais rotas queremos filtrar, e percebam mais, todas as nossas prefix-list estão em 'permit', mais isto não quer dizer que todas as rotas serão permitidas, a questão real é que esta decisão de permitir ou negar uma rota (permit ou deny) cabe agora não mais a prefix-list, mais sim ao route-map. Então damos permissão (permit) as nossas prefix-list, pois só assim elas serão aceitas dentro do route-map, depois disso, o route-map é quem irá julgar as rotas e permiti-las ou negá-las.

Depois de criadas as prefix-lists (lembrando que também poderia ser ACLs ao invés de prefix-list, cabe você tomar a decisão do que é mais adequado), vamos agora ao segundo passo, que é colocá-las dentro do nosso route-map. Aqui, primeiro criamos nosso filtro route-map, damos um nome a ele, e depois damos a sua ordem na seqüência. Em seguida, por meio do comando 'match ip address' adicionamos nossa prefix-list, e a chamamos pelo nome que demos, no caso da nossa primeira prefix-list demos o nome de 'bruno_redes' e a segunda foi dado o nome de 'bruno_wan', onde a primeira ira filtras todas as redes [ 172.16.10.0 ] com mascara de [ 255.255.255.240 ], e a segunda prefix-list irá filtrar todas as redes de máscara [255.255.255.252] que normalmente são utilizadas em redes WANs.

E por fim, como já é de praxe, nós entramos no modo de configuração de roteamento, e chamamos nossa route-map, especificando logo em seguida se o roteador irá julgar as redes que vão entrar ou sair por suas conexões (In Out)... [
distribute-list route-map filtro_de_redes out ].


Bom, é isso. Espero que estas informações sejam úteis para os interessados.

Qualquer dúvida é só postar...


Um abraço.




Nenhum comentário:

Postar um comentário