Comportamento inesperado da AS-PATH ACL

10

4 roteadores, ambiente de laboratório. Tentando filtrar rotas originárias do AS2 (não que alavancem o AS2 como trânsito). O processo que segui é:

Bakers#sh ip bgp regex _2_
BGP table version is 41, local router ID is 33.33.33.33
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.0/24       192.168.23.2             0             0 2 i
*  4.4.4.0/24       192.168.23.2                           0 2 1 i
*> 22.22.22.0/24    192.168.23.2             0             0 2 i
*  44.44.44.0/24    192.168.23.2                           0 2 1 i
*> 192.168.12.0     192.168.23.2             0             0 2 i
*  192.168.14.0     192.168.23.2                           0 2 1 i
*  192.168.23.0     192.168.23.2             0             0 2 i

Bakers#sh ip bgp regex _2$
BGP table version is 41, local router ID is 33.33.33.33
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 2.2.2.0/24       192.168.23.2             0             0 2 i
*> 22.22.22.0/24    192.168.23.2             0             0 2 i
*> 192.168.12.0     192.168.23.2             0             0 2 i
*  192.168.23.0     192.168.23.2             0             0 2 i

Neste ponto, estou pensando, OK - tenha o que preciso para criar uma ACL como caminho para filtrar as coisas originárias do AS2, pois a pesquisa de expressões regulares faz check-out de acordo com o acima. Eu crio e aplico o seguinte:

Bakers#sh run | i as-path
ip as-path access-list 10 deny _2$
ip as-path access-list 10 permit .*
router bgp 3
 no synchronization
 bgp log-neighbor-changes
 <truncated>
 neighbor 192.168.23.2 remote-as 2
 neighbor 192.168.34.4 remote-as 4
 neighbor 192.168.34.4 filter-list 10 out
 no auto-summary

Eu esperaria que as rotas anunciadas imitassem a saída 'sh ip bgp regex 2 ' da versão anterior (dando-me o resultado desejado), sem as rotas de saída com as rotas 'sh ip bgp regex _2 $'. Infelizmente, recebo isso:

Bakers#sh ip bgp neigh 192.168.34.4 advertised-routes 
BGP table version is 41, local router ID is 33.33.33.33
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 3.3.3.0/24       0.0.0.0                  0         32768 i
*> 33.33.33.0/24    0.0.0.0                  0         32768 i
*> 192.168.23.0     0.0.0.0                  0         32768 i
*> 192.168.34.0     0.0.0.0                  0         32768 i

Ele está filtrando todas as rotas originárias do AS1 (o que significa que, a jusante, esse roteador não pode mais usar o AS3 como trânsito para o AS1 - quebrando meu caso de uso). O que estou perdendo aqui?

AL
fonte
Apenas um tiro no escuro, mas você já tentou um mapa de rotas em vez de uma lista de filtros?
Ron Tronco
@ RonTrunk - Não senhor, não, mas vou tentar isso assim que o tempo permitir. Além de ser uma alternativa válida, você já observou que o comportamento da lista de filtros é diferente do comportamento do mapa de rotas? Eu estou pensando que isso pode ser um comportamento de buggy.
AL
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin
11
@AL conforme a sugestão de Ron, o regex de caminho AS no IOS é aplicado usando um mapa de rotas. Para sua existir como caminho-access-list usoroute-map BLAH permit 10; match as-path 10;
jwbensley

Respostas:

3

Quais rotas estavam sendo anunciadas antes de adicionar o filtro? Meu BGP está muito enferrujado, mas não me lembro de rotas de publicidade BGP que não estão no FIB (também conhecidas como "melhores".) Assim, as únicas rotas instaladas no AS2 são AS2 de origem ( _2 $ ); as rotas de trânsito ( _2_ ) não estão sendo instaladas e, portanto, não são anunciadas.

Ricky Beam
fonte
Demorou um pouco, mas chegamos lá - obrigado!
AL