Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Применение 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:

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