[GTER] BGP Excessively Prepends Quagga
Francisco V Brasileiro
francisco at brasileiro.adm.br
Wed Oct 4 07:49:10 -03 2017
Olá,
Baseado na sugestão do Bill Herrin, poderia usar a regex assim:
set policy as-path-list maxas-limit50 rule 10 action 'deny'
set policy as-path-list maxas-limit50 rule 10 regex '^([{},0-9]+ ){50}'
set policy route-map FiltraPrepend rule 10 match as-path 'maxas-limit50'
Abraços,
Francisco Brasileiro (Kico)
______________________________________________________________________
Francisco Vasconcelos Brasileiro francisco at brasileiro.adm.br
UIN: 6826562 Linux User: #101368
Em 2 de outubro de 2017 10:11, Uesley Correa <uesleycorrea at gmail.com>
escreveu:
> Informação importante:
>
> Um bug no Quagga faz com que as conexões iBGP caiam devido a anúncios
> recebidos com prepends excessivos (geralmente, um número próximo a 50
> prepends). Ele foi amplamente tratado aqui (
> https://lists.quagga.net/pipermail/quagga-users/2017-September/014830.html
> )
> e aqui (https://mailman.nanog.org/pipermail/nanog/2017-
> September/092536.html).
> O ASN 262197 exportou muitos prepends na tabela global e isso causou o
> estouro do limite de path no Quagga (
> https://stat.ripe.net/data/bgplay/data.json?resource=
> AS262197&starttime=1504760781&rrcs=1).
> Como muitos sabem, o VyOS utiliza Quagga como engine de roteamento e feitos
> os testes, foi descoberto que o VyOS também sofre o mesmo bug nesse
> cenário. Seguem abaixo as regras para filtrar prepend's excessivos em VyOS.
> Compartilhem essas regras com os seus amigos que utilizarem o cenário de
> iBGP para que evitem ter problemas de queda / instabilidade de sessão. Caso
> tenham regras de outros soft-routers que utilizam Quagga como engine, podem
> colaborar com o compartilhamento
>
> vyos at vyos# show policy route-map
> route-map FiltraPrepend {
> rule 10 {
> action deny
> match {
> as-path PrependExcessivo
> }
> }
> rule 100 {
> action permit
> }
> }
>
> vyos at vyos# show policy as-path-list
> as-path-list PrependExcessivo {
> rule 10 {
> action permit
> regex ([0-9]+)_\1_\1_\1_\1_
> }
> }
>
> Onde a expressão \1 significa a quantidade de vezes que o regex será aceito
> (ou seja, no cenário acima, 4 vezes). Altere para o valor que você achar
> necessário.
>
>
> Uesley Corrêa - Analista de Telecomunicações
> Instrutor Network Education
> CEO Telecom Conectividade
> --
> gter list https://eng.registro.br/mailman/listinfo/gter
>
More information about the gter
mailing list