тест
Применение route-map позволяет изменять атрибуты у анонсируемых и принимаемых маршрутов BGP, а также реализовать работу функционала PBR ().
Создание route-map и переход в режим его конфигурарования
console(config)# route-map name [ <section_id> ] [ permit | deny]
- name - название route-map
- section_id - номер записи в этой route-map
- permit - применить set-команды к маршрутам
- deny - отбросить маршруты
Команды режима конфигурации Route-Map:
1)Задать номер следующей секции route-map, которая будет применена к маршрутам, после применения текущей
console(config-route-map)# continue <section_id> [ and ]
- and - указывает, что match установки в этой route-map должны быть логически объединены (AND) с match установками в route-map, обозначенных параметром section_id.
Примечания:
-Создание цепочек route-map (без параметра and) возможен, если тип route-map выставлен в permit.
-Если при создании цепочки применяется пара-метр and, то все set установки должны находиться в последней секции этой цепочки.
-------Блок команд match. C помощью блока команд match мы выделяем маршруты, над которыми будут производиться дальнейшие изменения
2)Задание соответствия prefix-list и адреса маршрута
console(config-route-map)
# match ip [ address | next-hop | route-source ] prefix-list <name>
- address - соответствие prefix-list и ip адреса маршрута.
- next-hop - соответствие prefix-list и next-hop ip адреса маршрута.
- route-source - соответствие prefix-list и ip адреса источника маршрута.
Примечание:
Чтобы не отбрасывались остальные маршруты, не указанные в prefix-list, необходимо создать пустой route-map и привязать его к текущему через continue.
3)Задать соответствие маршрута с атрибутом local-preference.
console(config-route-map)
# match local-preference <value>
4)Задать соответствие маршрута с атрибутом metric.
console(config-route-map)
# match metric <value>
5)Задать соответствие маршрута с атрибутом origin.
console(config-route-map)
# match origin [ igp |egp | incomplete ]
- igp – маршрут был получен из протокола внутренней маршрутизации (например командой network)
- egp – маршрут был выучен по протоколу EGP.
- incomplete – маршрут был выучен каким-то иным образом (например командой
redistribute)
-------Блок команд set. C помощью блока команд set производятся изменения параметров в маршрутах, которые были выделены через match
6)Добавить к маршруту атрибут AS_PATHLIMIT
console(config-route-map)
# set as-path path-limit <value>
Нулевое значение ограничивает анонсирование локально сгенерированных маршрутов, только между iBGP соседями (не будут видны для eBGP).
Значение больше 0 означает, что если AS_PATH атрибут имеет больше AS-номеров, чем значение AS_PATHLIMIT, то нужно его отбросить при выходе в eBGP.
7)Добавить к атрибуту AS-Path введенные AS номера.
console(config-route-map)
# set as-path prepend <as_number>
8)Добавить к атрибуту AS-Path value номеров Local AS (на выход eBGP соседу).
console(config-route-map)
# set as-path prepend local-as <value>
9)Удалить из атрибута AS-Path указанную AS
console(config-route-map)
# set as-path remove <as_number>
10)Установить next-hop атрибут маршрута.
console(config-route-map)# set ip next-hop <ip_address>
11)Установить значение атрибута local-preference.
console(config-route-map)
# set local-preference <value>
12)Установить значение атрибута metric.
console(config-route-map)
# set metric <value>
13)Установить значение атрибута next-hop, как адрес соседа.
console(config-route-map)
# set next-hop-peer
14)Установить значение атрибута origin.
console(config-route-map)
# set origin [ igp | egp | incomplete ]
- igp – маршрут был получен из протокола внутренней маршрутизации (например командой network)
- egp – маршрут был выучен по протоколу EGP.
- incomplete – маршрут был выучен каким-то иным обра-зом (например командой redistribute)
15)Установить значение атрибута weight.
console(config-route-map)
# set weight <value>
Пример создания route-map
!
route-map test 10 permit
continue 15
match ip address prefix-list test
set local-preference 50
exit
route-map test 15 permit
exit
!