...
| Блок кода | ||
|---|---|---|
| ||
esr# hostname R1 esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# description "to LAN" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.168.1.1/24 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R2" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.1.1/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R3" esr(config-if-gi)# ip address 192.0.2.1/30 esr(config-if-gi)# exit esr(config)# ip route multipath 115.0.0.0/24 esr(config-multipath-route)# gateway 192.0.1.2 esr(config-multipath-route)# gateway 192.0.2.2 esr(config-multipath-route)# exit |
| Scroll Pagebreak |
|---|
Конфигурация R2:
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R2 esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R1" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.1.2/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R4" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.1.1/30 esr(config-if-gi)# exit esr(config)# esr(config)# ip route 115.0.0.0/24 10.0.1.2 esr(config)# ip route 192.168.0.0/24 192.0.1.1 |
...
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R3 esr(config)# interface gigabitethernet 1/0/3 esr(config-if-gi)# description "to R1" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 192.0.2.2/30 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/4 esr(config-if-gi)# description "to R4" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 10.0.2.1/30 esr(config-if-gi)# exit esr(config)# ip route 115.0.0.0/24 10.0.2.2 esr(config)# ip route 192.168.0.0/24 192.0.2.1 |
| Scroll Pagebreak |
|---|
Конфигурация R4:
| Блок кода | ||
|---|---|---|
| ||
esr(config)# hostname R4 esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# description "to LAN" esr(config-if-gi)# ip firewall disable esr(config-if-gi)# ip address 115.0.0.1/24 esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/3 esr-30(config-if-gi)# description "to R2" esr-30(config-if-gi)# ip firewall disable esr-30(config-if-gi)# ip address 10.0.1.2/30 esr-30(config-if-gi)# exit esr-30(config)# interface gigabitethernet 1/0/4 esr-30(config-if-gi)# description "to R3" esr-30(config-if-gi)# ip firewall disable esr-30(config-if-gi)# ip address 10.0.2.2/30 esr-30(config-if-gi)# exit esr-30(config)# ip route multipath 192.168.0.0/24 esr-30(config-multipath-route)# gateway 10.0.1.1 esr-30(config-multipath-route)# gateway 10.0.2.1 esr-30(config-multipath-route)# exit |
...
| Условие совпадения | Регулярное выражение |
|---|---|
| Маршруты с любым содержимым AS-path | .* |
| Маршруты с пустым AS-path | ^$ |
| Маршруты с одной любой AS в AS-path | ^[0-9]+$ |
| Маршруты с двумя любыми AS в AS-path | ^[0-9]+ [0-9]+$ |
| Маршруты, зарождённые в AS 15 | (^|.* )15$ |
| Маршруты, полученные из AS 20 | ^20( .*|$) |
| Маршруты, проходящие через AS 22 | .* 22 .* |
| Маршруты, проходящие через AS 30, а затем через AS 22 | .* 22 30 .* |
| Маршруты, проходящие через AS 30 или AS 43 | .* (30|43) .* |
| Маршруты, зарождённые в AS 66 и проходящие через AS 60 | .* 60 (.* )*66$ |
| Маршруты, зарождённые в AS 70 или проходящие через неё | .* 70( .*|$) |
| Маршруты, содержащие приватные AS в AS-path | (^|.* )((6451[2-9])|(645[2-9][0-9])|(64[6-9][0-9]{2})|(65[0-4][0-9]{2})|(655[0-2][0-9])|(6553[0-4]))( .*|$) |
| Номер AS 100, номер community 200 | ^100:200$ |
| Номера AS 112 или 232, любой номер community | ^(112|232):[0-9]*$ |
| Номер AS 277, номер community начинается с 3 | ^277:3[0-9]*$ |
| Любой номер AS, номер community в диапазоне 150-1230 | ^([0-9]*):((1[5-9][0-9])|([2-9][0-9]{2})|(1[0-2][0-2][0-9])|(1230))$ |
| Тип route target, IP-адрес 10.10.10.1, номер extcommunity 653 и 654 | ^rt:10\.10\.10\.1:65[34]$ |
Алгоритм настройки
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Создать маршрутную карту для фильтрации и модификации IP-маршрутов. | esr(config)# route-map <NAME> | <NAME> – имя маршрутной карты, задается строкой до 31 символа. |
| 2 | Создать правило маршрутной карты. | esr(config-route-map)# rule <ORDER> | <ORDER> – номер правила, принимает значения [1 .. 10000]. |
| 3 | Указать действие, которое должно быть применено для маршрутной информации. | esr(config-route-map-rule)# action <ACT> | <ACT> – назначаемое действие:
|
| 4 | Задать значение BGP AS-Path, Community,Extended Community, Local-preference, Metric, Weight в маршруте, для которого должно срабатывать правило (необязательно). | esr(config-route-map-rule)# match as-path { [begin | contain | end ] <AS-PATH> | empty | regex <REGEX> } | regex – значение атрибута соответствует регулярному выражению. <REGEX> – регулярное выражение, задаётся по стандарту POSIX-Extended Regular Expressions.
|
| esr(config-route-map-rule)# match community { <COMMUNITY-LIST> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match extcommunity { <EXTCOMMUNITY-LIST> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match local-preference { <VALUE> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match metric bgp { <VALUE> | regex <REGEX> } | |||
| esr(config-route-map-rule)# match weight bgp { <VALUE> | regex <REGEX> } | |||
| 5 | Описать дополнительные условия для выбора и действие ( см. раздел Настройка политик маршрутизации Route-map). | ||
| 6 | Применить созданный Route-map в контекcте настройки BGP peer, peer-group, address-family. | esr(config-bgp-neighbor)# route-map <NAME><DIRECTION> | <NAME> – имя сконфигурированной маршрутной карты;
|
| esr(config-ipv6-bgp-neighbor)# route-map <NAME><DIRECTION> |
Scroll Pagebreak
Пример настройки
...