Неожиданное поведение AS-PATH ACL

10

4 роутера, лабораторная среда. Попытка отфильтровать маршруты, исходящие из AS2 (но не использовать AS2 в качестве транзита). Процесс, которому я следовал:

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

На данный момент, я думаю, хорошо - есть то, что мне нужно, чтобы создать ACL по пути, чтобы отфильтровать материал, исходящий из AS2, так как поиск по регулярному выражению проверен согласно вышеописанному. Я создаю и применяю следующее:

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

Затем я ожидал бы, что объявленные маршруты будут имитировать вывод 'sh ip bgp regex 2 ', полученный ранее (что даст мне желаемый результат), и не будет выводить маршруты с маршрутами 'sh ip bgp regex _2 $'. К сожалению, я получаю это:

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

Он отфильтровывает все маршруты, исходящие из AS1 (это означает, что в нисходящем направлении этот маршрутизатор больше не может использовать AS3 в качестве транзита к AS1 - что нарушает мой сценарий использования). Что мне здесь не хватает?

Алабама
источник
Просто выстрел в темноте, но вы пробовали карту маршрутов вместо списка фильтров?
Рон Ствол
@RonTrunk - Нет, сэр, нет, но я постараюсь, как только позволит время. Помимо того, что вы были допустимой альтернативой, вы когда-нибудь замечали, что поведение списка фильтров отличается от поведения карты маршрутов? Я думаю, что это может быть ошибочное поведение.
AL
Вам помог какой-нибудь ответ? Если это так, вы должны принять ответ, чтобы вопрос не появлялся вечно, ища ответ. Кроме того, вы можете предоставить и принять свой собственный ответ.
Рон Мопин
1
@AL согласно предложению @ Рона, регулярное выражение пути AS в IOS применяется с использованием карты маршрутов. Для вашего использования списка доступа as-path используйтеroute-map BLAH permit 10; match as-path 10;
jwbensley

Ответы:

3

Какие маршруты рекламировались до добавления фильтра? Мой BGP очень ржавый, но я не вспоминаю рекламные маршруты BGP, которых нет в FIB (так называемые «лучшие» маршруты). Таким образом, единственные маршруты, устанавливаемые из AS2, это источник AS2 ( _2 $ ); транзитные маршруты ( _2_ ) не устанавливаются, поэтому не объявляются .

Рики Бим
источник
Потребовалось время, но мы добрались - спасибо!
AL