Nieoczekiwane zachowanie AS-PATH ACL

10

4 routery, środowisko laboratoryjne. Próba odfiltrowania tras pochodzących z AS2 (nie wykorzystując AS2 jako tranzytu). Proces, który obserwowałem to:

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

W tym momencie myślę, OK - mam to, czego potrzebuję, aby utworzyć ACL ścieżki, aby odfiltrować rzeczy pochodzące z AS2, ponieważ wyszukiwanie wyrażeń regularnych sprawdza się zgodnie z powyższym. Tworzę i stosuję następujące elementy:

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

Spodziewałbym się wtedy, że reklamowane trasy będą naśladować dane wyjściowe „sh ip bgp regex 2 ” z wcześniejszych (dając mi pożądany wynik), sans danych wyjściowych tras za pomocą tras „sh ip bgp regex _2 $”. Niestety dostaję to:

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

Filtruje wszystkie trasy pochodzące z AS1 (co oznacza, że ​​router dalej nie może używać AS3 jako tranzytu do AS1 - łamanie mojego przypadku użycia). Czego tu brakuje?

glin
źródło
Tylko strzał w ciemności, ale czy wypróbowałeś mapę trasy zamiast listy filtrów?
Ron Trunk
@RonTrunk - Nie proszę pana, nie, ale spróbuję tego, gdy tylko pozwoli na to czas. Czy jest to ważna alternatywa, czy zauważyłeś, że zachowanie listy filtrów różni się od zachowania mapy trasy? Myślę, że to może być błędne zachowanie.
AL
Czy jakaś odpowiedź ci pomogła? jeśli tak, powinieneś zaakceptować odpowiedź, aby pytanie nie wyskakiwało wiecznie, szukając odpowiedzi. Alternatywnie możesz podać i zaakceptować własną odpowiedź.
Ron Maupin
1
@AL zgodnie z sugestią @ Rona, wyrażenie regularne ścieżki AS w IOS jest stosowane przy użyciu mapy tras. Aby skorzystać z istniejącej listy dostępu jako ścieżki, użyjroute-map BLAH permit 10; match as-path 10;
jwbensley

Odpowiedzi:

3

Jakie trasy były reklamowane przed dodaniem filtra? Mój BGP jest bardzo zardzewiały, ale nie pamiętam tras reklamowych BGP, które nie znajdują się w FIB (inaczej „najlepszych” trasach). Jako takie, jedyne trasy instalowane z AS2 są pochodzenia AS2 ( _2 $ ); trasy tranzytowe ( _2_ ) nie są instalowane, więc nie są reklamowane.

Ricky Beam
źródło
Trochę to zajęło, ale dotarliśmy na miejsce - dziękuję!
AL