Заметка, типа напоминалки.
Как работать с route-map мы все уже знаем, умеем, и не раз делали.
Но есть еще Policy-list, фича,которая в определенных моментах может нам очень серьезно помочь.
С помощью полиси лист мы описываем политики, например:
ip policy-list POLICY-NAME-1 permit
match as-path 1
metric 5
ip policy-list POLICY-NAME-2 permit
match ip address 1
ip policy-list POLICY-NAME-3 deny
match as-path
Теперь мы эти политики можем применять к route-map’е.
route-map NAME permit 10
match policy-list NAME-1
match policy-list NAME-2
В этом случае действует логическое выражение И, то есть и первый match должен быть истинным и второй.
Если нам нужно логическое ИЛИ, то используется так:
route-map NAME 10
match policy-list NAME-1 policy-list NAME-2
Здесь достаточно чтоб один polisy-list был истиной.
И еще, что хотелось бы рассказать, это опция continue.
Например, у нас есть route-map с разными номерами (10,20,30 и так далее), пакет приходя на роутер попадает в первый, проверяется, если попал в него, то выполняется какая-то политика, а затем выходит из роут мапа и идет дальше.
Если нам необходимо чтоб пакет после первого совпадения в роутмапе не выходил, а переходил к указанному другому обработчику, тут то и используется — continue
Рассмотрим пример (не ищите в нем смысла, это просто пример конструкции):
route-map NAME permit 10
match as-path 1
continue 20
route-map NAME permit 20
match ip address 1
set metric 40
route-map NAME deny 30
Теперь пакет если попадет в 10-ое правило, далее пойдет в 20, и потом только выйдет из route-map. Но будьте осторожны и внимательны, дабы не сделать случайно петлю.
Если мы добавим в 20-ое правило continue 10 то пакет будет бегать бесконечно и это может «повесить» роутер.