Introdução
Naturalmente, filtros, neste texto são equivalentes a filtros no BGP, exclusivamente. Outra informação importante é de que todos os Mikrotiks foram atualizados na Versão 5.1.
Para o que segue, iremos nos referenciar à Figura 1, abaixo, última topologia vista no artigo [Braga, 2011]1.
Como filtrar no Mikrotik
Os exemplos preliminares de filtros concentrarão no componente MK8.6, da topologia mostrada na Figura 1, acima. Filtros do BGP no Mikrotik, são feitos no caminho mostrado na Figura 2, via Winbox.
A janela “Route Filters” é onde estarão os filtros. Quando clicamos no “+”, aparece a janela de inclusão dos filtros, que possui 4 abas, vistas nas Figuras 3 e 4, que seguem.
Como pode-se verificar são muitas as alternativas que giram em torno de Filtros, o que permite uma quantidade enorme de combinações. Na primeira aba, o parâmetro “Chain” deve indicar o que estamos filtrando. Os principais filtros estão associados ao emparemento que fazemos. A Figura 5 abaixo, exibe a maneira como indicamos, no empareamento, quais os filtros associados a ele, isto é, filtros de entrada e filtros de saída. A primeira parte da Figura 5 mostra o empareamento com o MK2, sem nenhuma indicação de filtros, enquanto que a segunda aba exibe o nome dados aos filtros de entrada e de saída, respectivamente, “MK2_entra” e “MK2_sai”. Uma vez salva, a aba “Matches” (Figura 3) irá mostrar estas duas identificações, no “Chain”.
O estado atual do MK8.6
A listagem abaixo mostra o estado do MK8.6 em relação à tabela de rotas e aos anúncios que ele está fazendo.
Filtrando o recebimento de anúncios dos próprios blocos
Filtrar a entrada dos próprios blocos não faz muito sentido já que o mecanismo de prevenção de laços infinitos do BGP já faz isso. Isso pode ser visto nas rotas do próprio MK8.6 e nos anúncios de MK2 para MK.6, mostrado na relação a seguir:
Entretando, volta e meia ouvimos: “Filtre seus blocos, na entrada!”. Para efeitos ditáticos, vamos fazer isso. A Figura 6 mostra como e os respectivos resultados mostrando, como foi inócuo tal filtro.
Em 1 a indicação da existência do filtro, mostrando a “Chain” (MK2_entra), o bloco filtrado e a ação do filtro (“discard”). Em 2 e 3, as abas do filtro, como foram preenchidas. Em 4, a tela do terminal, listando os resultados para efeitos de comparação.
Outro filtro importante de entrada é não deixar entrar a rota padrão, embora possa ver que MK2, único vizinho de MK8.6, não anuncia a rota padrão. Esta decisão é do administrador do MK8.6. Um bom administrador vê que isso não precisa ser feito. Mas, o administrador do MK2 pode, involuntariamente, anunciar a rota padrão. Copiando o primeiro filtro e alterando somente o bloco para 0.0.0.0/0, temos o resultado da Figura 7.
Filtrando a saída
A recomendação é de imediato: somente deixe passar os blocos que serão anunciados. Isso inclui o bloqueio da rota padrão, para que não haja efeitos involuntários. Mesmo que a rota padrão não esteja sendo usada, como é o caso do MK8.6 (ela pode vir a ser usada a qualquer momento). Antes de fazer este bloqueio, vamos confirmar o funcionamento de filtros, pois não vimos isso ainda. Se fizermos o bloqueio do bloco do MK8.6, ilustramos o fato. Vejamos na Figura 8, onde uma nova cópia do primeiro filtro é suficiente, desde que mudemos a “Chain”.
O bloco não aparece mais na listagem de anúncios, mostrado no terminal, abaixo da janela de filtros. Então, funciona! Mas este filtro não interessa, exceto pelo efeito didático. Na realidade, tal filtro é indevido, pois impede a divultação mais importante desejada pelo administrador do MK8.6! Vamos então ao que interessa, bloqueando a rota padrão e tudo mais, exceto o bloco que MK8.6 quer anunciar. A técnica no Mikrotik é bloquear tudo, menos o bloco a ser anunciado. Na Figura 9, mostra o resultado, usando o próprio bloqueio de efeito didático. Um parâmetro na primeira aba do filtro, chamado de ‘Invert Matcher”, faz este trabalho. Como o bloco está com a ação “discard”, o Mikrotik irá bloquear tudo, menos o bloco definido em “Prefix”. Assim, até a rota padrão foi bloqueada!
Uma outra maneira de fazer isso é usando três filtros: o primeiro bloqueia a rota padrão, o segundo libera o bloco e o terceiro, bloqueia todo o resto (sem especificar qualquer coisa no campo “Prefix”.
Fonte: http://ii.blog.br/
Naturalmente, filtros, neste texto são equivalentes a filtros no BGP, exclusivamente. Outra informação importante é de que todos os Mikrotiks foram atualizados na Versão 5.1.
Para o que segue, iremos nos referenciar à Figura 1, abaixo, última topologia vista no artigo [Braga, 2011]1.
Como filtrar no Mikrotik
Os exemplos preliminares de filtros concentrarão no componente MK8.6, da topologia mostrada na Figura 1, acima. Filtros do BGP no Mikrotik, são feitos no caminho mostrado na Figura 2, via Winbox.
A janela “Route Filters” é onde estarão os filtros. Quando clicamos no “+”, aparece a janela de inclusão dos filtros, que possui 4 abas, vistas nas Figuras 3 e 4, que seguem.
Como pode-se verificar são muitas as alternativas que giram em torno de Filtros, o que permite uma quantidade enorme de combinações. Na primeira aba, o parâmetro “Chain” deve indicar o que estamos filtrando. Os principais filtros estão associados ao emparemento que fazemos. A Figura 5 abaixo, exibe a maneira como indicamos, no empareamento, quais os filtros associados a ele, isto é, filtros de entrada e filtros de saída. A primeira parte da Figura 5 mostra o empareamento com o MK2, sem nenhuma indicação de filtros, enquanto que a segunda aba exibe o nome dados aos filtros de entrada e de saída, respectivamente, “MK2_entra” e “MK2_sai”. Uma vez salva, a aba “Matches” (Figura 3) irá mostrar estas duas identificações, no “Chain”.
O estado atual do MK8.6
A listagem abaixo mostra o estado do MK8.6 em relação à tabela de rotas e aos anúncios que ele está fazendo.
- Código:
[admin@MK8-6] > ip route print
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 ADb 10.201.0.0/23 10.202.0.13 20
1 ADb 10.202.0.0/23 10.202.0.13 20
2 ADC 10.202.0.12/30 10.202.0.14 MK2 0
3 ADb 10.203.0.0/23 10.202.0.13 20
4 ADb 10.204.0.0/23 10.202.0.13 20
5 ADb 10.205.0.0/23 10.202.0.13 20
6 ADb 10.206.0.0/23 10.202.0.13 20
7 ADb 10.207.0.0/23 10.202.0.13 20
8 ADb 10.226.0.0/24 10.202.0.13 20
9 ADb 10.226.1.0/24 10.202.0.13 20
10 ADC 10.236.0.1/32 10.236.0.1 LoopBack 0
[admin@MK8-6] > routing bgp advertisements print
PEER PREFIX NEXTHOP AS-PATH
MK2 10.236.0.0/23 10.202.0.14
Filtrando o recebimento de anúncios dos próprios blocos
Filtrar a entrada dos próprios blocos não faz muito sentido já que o mecanismo de prevenção de laços infinitos do BGP já faz isso. Isso pode ser visto nas rotas do próprio MK8.6 e nos anúncios de MK2 para MK.6, mostrado na relação a seguir:
- Código:
[admin@MK2] > routing bgp advertisements print peer=MK8.6
PEER PREFIX NEXTHOP AS-PATH
MK8.6 10.201.0.0/23 10.202.0.13 65531
MK8.6 10.206.0.0/23 10.202.0.13 65537,65536
MK8.6 10.204.0.0/23 10.202.0.13 65531,65534
MK8.6 10.226.1.0/24 10.202.0.13 65537,65536
MK8.6 10.205.0.0/23 10.202.0.13 65531,65534,65535
MK8.6 10.207.0.0/23 10.202.0.13 65537
MK8.6 10.203.0.0/23 10.202.0.13 65533
MK8.6 10.226.0.0/24 10.202.0.13 65537,65536
MK8.6 10.202.0.0/23 10.202.0.13
Entretando, volta e meia ouvimos: “Filtre seus blocos, na entrada!”. Para efeitos ditáticos, vamos fazer isso. A Figura 6 mostra como e os respectivos resultados mostrando, como foi inócuo tal filtro.
Em 1 a indicação da existência do filtro, mostrando a “Chain” (MK2_entra), o bloco filtrado e a ação do filtro (“discard”). Em 2 e 3, as abas do filtro, como foram preenchidas. Em 4, a tela do terminal, listando os resultados para efeitos de comparação.
Outro filtro importante de entrada é não deixar entrar a rota padrão, embora possa ver que MK2, único vizinho de MK8.6, não anuncia a rota padrão. Esta decisão é do administrador do MK8.6. Um bom administrador vê que isso não precisa ser feito. Mas, o administrador do MK2 pode, involuntariamente, anunciar a rota padrão. Copiando o primeiro filtro e alterando somente o bloco para 0.0.0.0/0, temos o resultado da Figura 7.
Filtrando a saída
A recomendação é de imediato: somente deixe passar os blocos que serão anunciados. Isso inclui o bloqueio da rota padrão, para que não haja efeitos involuntários. Mesmo que a rota padrão não esteja sendo usada, como é o caso do MK8.6 (ela pode vir a ser usada a qualquer momento). Antes de fazer este bloqueio, vamos confirmar o funcionamento de filtros, pois não vimos isso ainda. Se fizermos o bloqueio do bloco do MK8.6, ilustramos o fato. Vejamos na Figura 8, onde uma nova cópia do primeiro filtro é suficiente, desde que mudemos a “Chain”.
O bloco não aparece mais na listagem de anúncios, mostrado no terminal, abaixo da janela de filtros. Então, funciona! Mas este filtro não interessa, exceto pelo efeito didático. Na realidade, tal filtro é indevido, pois impede a divultação mais importante desejada pelo administrador do MK8.6! Vamos então ao que interessa, bloqueando a rota padrão e tudo mais, exceto o bloco que MK8.6 quer anunciar. A técnica no Mikrotik é bloquear tudo, menos o bloco a ser anunciado. Na Figura 9, mostra o resultado, usando o próprio bloqueio de efeito didático. Um parâmetro na primeira aba do filtro, chamado de ‘Invert Matcher”, faz este trabalho. Como o bloco está com a ação “discard”, o Mikrotik irá bloquear tudo, menos o bloco definido em “Prefix”. Assim, até a rota padrão foi bloqueada!
Uma outra maneira de fazer isso é usando três filtros: o primeiro bloqueia a rota padrão, o segundo libera o bloco e o terceiro, bloqueia todo o resto (sem especificar qualquer coisa no campo “Prefix”.
Fonte: http://ii.blog.br/