@John_Alban
Network/IDS engineer

Как обрабытывается CEF-exception трафик внутри cppr-политики в Cisco IOS-XE?

Написал cppr-политики для роутеров Cisco на IOS и IOS-XE.
И столкнулся со следующей проблемой: на IOS-XE железе нет control-plane cef-exception режима, весь трафик на коробку обрабатывается внутри единой политики. И в этой политике никак не удается поймать BFD-пакеты.. По счетчикам вижу, что вcе BFD-пакеты оседают на итоговом дискардном правиле. В стандартном IOS BFD по-идее не попадает в cef и обрабатывается внутри control-plane cef-exception; что делать в случае IOS-XE не пойму - странно, что трафик не попадает в нужный класс, но при этом внутри фильтра валится не в class-default, а именно в discard-all-UDP правило.
Железо: ASR1002
Версия IOS-XE ROMMON: 153-1r
Версия IOS-XE: 03.14.00.S
Версия IOS внутри: 15.5(1)S

Правило отбора для BFD (упрощенный конфиг):
ip access-list extended RE_bfd
permit udp object-group ext_hosts range 49152 65535 object-group int_hosts range 3784 3785
! далее класс, куда BFD входит:
class-map match-any RE_routing
match access-group name RE_bfd
! дискард правила
ip access-list extended RE_dis_tcp
permit tcp any any fragments
permit tcp any any
ip access-list extended RE_dis_udp
permit udp any any fragments
permit udp any any
ip access-list extended RE_dis_ip
permit icmp any any fragments
permit ip any any fragments
permit ip any any
! дискард класс
class-map match-any RE_dis_traffic
description RE_disable_traffic
match access-group name RE_dis_tcp
match access-group name RE_dis_udp
match access-group name RE_dis_ip
! и все это в cppr-политике:
policy-map RE_cppr
class RE_routing
class RE_dis_traffic
police rate 1 pps
! включаем
control-plane
service-policy input RE_cppr
!

UPD: С LDP трафиком аналогичная проблема, поэтому склонен считать, что она характерна для всех CEF-exception пакетов внутри коробки.
  • Вопрос задан
  • 726 просмотров
Решения вопроса 1
@John_Alban Автор вопроса
Network/IDS engineer
Итак, симтомы проблемы я устранил.
Изначально ACL для отбора было таким:
!
permit udp object-group ext_hosts range 49152 65535 object-group int_hosts range 3784 3785
!
Собственно, возникла идея поиграть с условиями и я убрал ограничение по адресам. ACL превратился в:
!
permit udp any range 49152 65535 any range 3784 3785
!
И все заработало! Но вопрос все равно открыт - устранился симптом, почему ASR не обрабатывает условие по ip-заголовкам - непонятно. Баг или особенность обработки host-inbound трафика на IOS-XE?

UPD: Весь сыр-бор возник из-за того, что внутри ACL для cef-exception трафика не работают object-groups. Для остального host-inbound трафика они работают.
Если вместо object-groups напрямую писать ip-адреса, то все работает как надо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@CMHungry
Скорее всего ответ в том, что на ХЕ-железе нет CEF. Там аналог QFP, через который все и идёт. На предыдущем железе не такая архитектура
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы