Настройка Route-Map на MES2300-xx/3300-xx/3500-xx/5312/53xxA/53xx-xx/54xx-xx/5500-32
Применение 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_PATHLIMITconsole(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 указанную ASconsole(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:console(config)# ip prefix-list test seq 5 permit 20.20.20.0/24
console(config)# route-map test 10 permit
console(config-route-map)# continue 15
console(config-route-map)# match ip address prefix-list test
console(config-route-map)# set local-preference 50
console(config)# route-map test 15 permit
Пустой route-map создан, для того, чтобы не отбрасывались маршруты, отличные от 20.20.20.0/24
Просмотр созданных Route-Map
show route-map
Источник:
docs.eltex-co.ru