Cisco PBR

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.


На этой странице рассматриваются принципы работы и настройка маршрутизации на основе политик (Policy based routing, PBR) на маршрутизаторах Cisco.

Маршрутизация на основе политик (policy based routing, PBR) позволяет маршрутизировать трафик на основании заданных политик, тогда как в обычной маршрутизации, только IP-адрес получателя определяет каким образом будет передан пакет.

Содержание

[править] Принцип работы

PBR может применяться, как для сквозного трафика, так и для трафика, который генерируется маршрутизатором.

Примеры задач, которые PBR может решить:

  • Маршрутизировать трафик по любому признаку, который можно указать в ACL (IP отправителя и получателя, порты TCP/UDP)
    • Маршрутизировать VoIP трафик через один канал, а весь остальной, через другой,
    • Маршрутизировать трафик пользователей VLAN 10 через один канал, в пользователей VLAN 20 через другой
  • Маршрутизировать трафик, который генерирует маршрутизатор, по определенному пути

PBR перехватывает пакеты до стандартной маршрутизации и отправляет пакеты по настроенным правилам. Если для группы пакетов в PBR не указано как их маршрутизировать, то они будут отправлены по стандартным правилам маршрутизации.

[править] Настройка PBR

Основной объект с помощью которого настраивается PBR: route-map.

Route-map:

  • состоит из правил:
    • каждое из правил, указывает отправлять указанные пакеты по правилам PBR или нет
      • permit значит, что пакеты, которые попадают в описание match, буду отправлены так как описано в set
      • deny значит, что пакеты будут отправлены на стандартную маршрутизацию
  • В каждом правиле route-map два компонента:
    • match - описывает какой трафик должен маршрутизироваться согласно PBR
      • как правило, для PBR, используется в виде match ip address <acl>
    • set - описывает куда перенаправлять трафик, который описан в match
      • как правило, для PBR, используется в виде set ip next-hop <ip-address>
  • У каждого правила route-map есть порядковый номер
    • когда пакеты проходят сквозь интерфейс, к которому применена PBR, пакеты проверяются по порядку по правилам
    • если пакет совпал с описанием в match, то он маршрутизируется по правилу set
    • если пакет не совпал с описанием в match, правила проверяются дальше
    • если ни в одном правиле совпадения не найдено, то пакет будет маршрутизироваться по стандартной таблице маршрутизации

Пример настройки route-map:

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

Note-icon.gif

Обратите внимание, что route-map могут использоваться в разных областях. Например:

  • как фильтры маршрутов
  • для настройки PBR
  • для настройки политик BGP
  • для NAT

На этой странице описание и использование route-map относится только к PBR.

Смысл команд внутри route-map, в зависимости от области применения, может меняться. Поэтому, не все команды, которые доступны внутри route-map, относятся к настройкам PBR. Также, при чтении документации, нужно обращать внимание на то, к каком контексте используется route-map.

В этом смысле, route-map чем-то похожи на ACL. ACL также, в зависимости от области применения, может выполнять разные действия.

Для того чтобы, при получении трафика на интерфейсе, машрутизатор обрабатывал его не по обычным правилам, а использовал настройки маршрутизации на основе политик, необходимо применить команду ip policy:

router(config-if)# ip policy route-map <route-map-name>

Команда применяется на интерфейсе, который является входящим для трафика.

[править] Настройка PBR с track

Когда PBR используется для того чтобы распределять трафик между различными провайдерами, трафик нужно не просто отправлять на определенный next-hop, но и проверять, работоспособен ли провайдер, через которого отправляется трафик.

Для проверки работоспособности используется комбинация IP SLA и Track.

Пример привязки трек к next-hop, для проверки доступности провайдера:

route-map POLICY permit 10
 match ip address odd
 set ip next-hop verify-availability 70.1.1.100 1 track 1
route-map POLICY permit 20
 match ip address even
 set ip next-hop verify-availability 80.1.1.100 2 track 2

[править] Команды просмотра

dyn1# sh ip policy       
Interface      Route map
Fa0/0          POLICY
router# sh route-map POLICY
route-map POLICY, permit, sequence 10
  Match clauses:
    ip address (access-lists): odd 
  Set clauses:
    ip next-hop verify-availability 192.168.1.5 1 track 1  [up]
  Policy routing matches: 36 packets, 1512 bytes
route-map POLICY, permit, sequence 20
  Match clauses:
    ip address (access-lists): even 
  Set clauses:
    ip next-hop verify-availability 192.168.2.6 2 track 2  [up]
  Policy routing matches: 9 packets, 378 bytes

[править] Команды debug

Icon-caution.gif

Внимательно отнеситесь к включению команды debug, так как она может дать на выходе очень много информации, что неблагоприятно отразится на работе вашего маршрутизатора (он попросту "зависнет"). Так что постарайтесь использовать этот режим при низком трафике через ваш маршрутизатор, а то и вовсе выключите этот режим, воспользовавшись (в EXEC режиме) командой no debug ip policy.


Но, если Вы тестируете работу PBR в лабораторных условиях, то командой можно воспользоваться для того чтобы увидеть какие пакеты маршрутизировались по правилам PBR, а какие стандартно.

Проверить работу policy routing:

router# debug ip policy

[править] Примеры настройки

[править] Балансировка трафика по признаку четные/нечетные адреса

ip access-list standard odd
 permit 10.0.100.1 0.0.0.254

ip access-list standard even
 permit 10.0.100.0 0.0.0.254

route-map POLICY permit 10
 match ip address odd
 set ip next-hop 192.168.1.5
route-map POLICY permit 20
 match ip address even
 set ip next-hop 192.168.2.6

interface FastEthernet0/0
 ip policy route-map POLICY

[править] PBR с использованием track

ip sla 1
 icmp-echo 192.168.6.8 source-interface FastEthernet1/0
 timeout 500
 frequency 3
ip sla schedule 1 life forever start-time now

ip sla 2
 icmp-echo 192.168.7.9 source-interface FastEthernet2/0
 timeout 500
 frequency 3
ip sla schedule 2 life forever start-time now

track 1 ip sla 1 reachability
 delay down 10 up 5

track 2 ip sla 2 reachability
 delay down 10 up 5

ip access-list standard odd
 permit 10.0.100.1 0.0.0.254

ip access-list standard even
 permit 10.0.100.0 0.0.0.254

route-map POLICY permit 10
 match ip address odd
 set ip next-hop verify-availability 192.168.1.5 1 track 1
route-map POLICY permit 20
 match ip address even
 set ip next-hop verify-availability 192.168.2.6 2 track 2

interface FastEthernet0/0
 ip policy route-map POLICY

[править] Дополнительная информация

Источник — «http://xgu.ru/wiki/Cisco_PBR»