Cisco route-map
Материал из Xgu.ru
Route-map это объект в конфигурационном файле, с помощью которого можно настраивать такой функционал:
- NAT
- Политики BGP
- Перераспределение маршрутов (route redistribution)
- PBR
Чаще всего, route-map используется при настройке маршрутизаторов.
Содержание |
[править] Описание route-map
В каждой route map может быть несколько команд route-map, каждой из которых присвоен порядковый номер. Когда маршрутизатор обрабатывает route map, он просматривает все команды в соответствии с порядковыми номерами команд.
В каждой команде route-map указано действие permit или deny. Кроме того, с помощью команды match указываются параметры которые должны быть у маршрута для того чтобы он совпал с правилом. Для того чтобы указать весь трафик, в команде route-map просто не надо указывать команду match.
Если после параметра match идет несколько опций, то к ним применяется логика или, то есть должен совпасть один из перечисленных параметров. Если задано несколько параметров match в отдельных строках, то к ним применяется логика и, то есть должны совпасть все параметры.
В каждой команде route-map может быть одна или более команд set, которые используются для изменения каких-либо параметров проходящих маршрутов.
Route map позволяет фильтровать маршруты при перераспределении и изменять различные атрибуты маршрутов.
Ниже таблица с самыми популярными вариантами использования route-map и самыми распространенными вариантами параметров:
Параметр route-map | Значение для BGP (применение к соседу) | Значение для PBR | Значение для redistribution | Значение для NAT |
---|---|---|---|---|
permit | пропустить префикс | Маршрутизировать по правилам PBR | Перераспределить маршруты | NAT-ить |
deny | отбросить префикс | Отправить на стандартную маршрутизацию | Отбросить маршруты | Не NAT-ить (при этом NAT пакеты не отбрасывает) |
match | prefix-list, as-path acl, ACL | ACL | ACL, prefix-list, tag, route type | interface, ACL |
set | Атрибуты BGP | ip next-hop, set interface | tag | - |
|
Обратите внимание, что в таблице перечислены не все возможные параметры, а только одни из самых распространенных, для того чтобы вкратце показать отличия в работе и настройке route-map, в зависимости от области применения. Варианты параметров, которые используются с match и set, в каждой области применения, описаны в соответствующих разделах. |
[править] Route-map Policy list
[править] Route-map continue
[править] Использование route map в BGP
Пример изменения значения атрибута origin для сетей разрешенных в ACL 101:
dyn(config)# route-map NEW_Origin permit dyn(config-route-map)# match ip address 101 dyn(config-route-map)# set origin igp
[править] Использование route map для перераспределения маршрутов
Когда route map используется для перераспределения маршрутов, то команда route-map с параметром permit указывает на маршруты, которые будут перераспределены, а route-map с deny на маршруты, которые не будут перераспределяться.
Для перераспределения маршрутов используются такие параметры команды match:
- match interface — проверяется исходящий интерфейс маршрутов,
- match ip address — с помощью ACL или prefix-list указывается какой префикс должен быть у маршрута,
- match ip next-hop — проверяется next-hop адрес маршрута,
- match ip route-source — проверяется IP-адрес маршрутизатора, который анонсирует маршрут,
- match metric — проверяется метрика маршрута,
- match route-type — проверяется тип маршрута (external, internal, level-1, level-2, local, nssa-external),
- match tag — проверяется тег установленный для маршрута ранее.
Для перераспределения маршрутов используются такие параметры команды set:
- set level — указывает в какую базу данных будет перераспределен маршрут (level-1, level-2, level-1-2, stub-area, backbone)
- set metric — устанавливает метрику маршрута,
- set metric-type — устанавливает тип маршрута для OSPF и IS-IS (external, internal, type-1, type-2),
- set tag — устанавливает тег для маршрута.
[править] Использование route map для Policy-based routing
Route-map для PBR:
- состоит из правил:
- каждое из правил, указывает отправлять указанные пакеты по правилам PBR или нет
- permit значит, что пакеты, которые попадают в описание match, буду отправлены так как описано в set
- deny значит, что пакеты будут отправлены на стандартную маршрутизацию
- каждое из правил, указывает отправлять указанные пакеты по правилам PBR или нет
- В каждом правиле route-map два компонента:
- match - описывает какой трафик должен маршрутизироваться согласно PBR
- как правило, для PBR, используется в виде match ip address <acl>
- set - описывает куда перенаправлять трафик, который описан в match
- как правило, для PBR, используется в виде set ip next-hop <ip-address>
- match - описывает какой трафик должен маршрутизироваться согласно PBR
- У каждого правила route-map есть порядковый номер
- когда пакеты проходят сквозь интерфейс, к которому применена PBR, пакеты проверяются по порядку по правилам
- если пакет совпал с описанием в match, то он маршрутизируется по правилу set
- если пакет не совпал с описанием в match, правила проверяются дальше
- если ни в одном правиле совпадения не найдено, то пакет будет маршрутизироваться по стандартной таблице маршрутизации
Пример настройки PBR:
route-map PBR permit 10 match ip address VLAN_10 set ip next-hop 10.0.1.1 route-map PBR permit 20 match ip address VLAN_20 set ip next-hop 10.0.2.2 interface Gi0/0 ip policy route-map PBR