25. Статическая маршрутизация на основе политик (pbr)¶
В ПАК “Фортикс” реализована расширенная статическая маршрутизация на основе политик (Policy Based Routing – pbr), настройки которой осуществляются на следующем уровне конфигурации:
# edit router pbr ipv4|ipv6
где ipv4|ipv6 – уровень конфигурации IPv4/IPv6.
25.1. Группы маршрутизации¶
Для настройки расширенной статической маршрутизации создаётся группа маршрутизации, которая представляет собой отдельную таблицу маршрутизации, выделенную для некоторого трафика. Доступно создание нескольких таблиц, каждая из который идентифицируется уникальным именем. При этом настройки расширенной статической маршрутизации повторяют настройки стандартной.
Для создания группы маршрутизации применяется команда:
[edit router pbr ipv4|ipv6]
# set group <group-name>
где
ipv4|ipv6– уровень конфигурации IPv4/IPv6;<group-name>– строка.
Пример применения команд для создания и настройки групп:
[edit router pbr ipv4]
# set group gw1 to 0.0.0.0/0 via gw 192.168.0.1
# set group gw2 to 0.0.0.0/0 via gw 192.168.1.1
В данном примере создаются две группы gw1 и gw2, каждая из которых содержит по одному правилу маршрутизации.
25.2. Правила маршрутизации¶
Для направления трафика в группу используются следующие типы правил:
pre– правила, выполняющиеся до стандартной статической маршрутизации;post– правила, выполняющиеся после стандартной статической маршрутизации.
Настройка правил осуществляется на следующем уровне конфигурации:
[edit router pbr ipv4|ipv6 <rule-type> rule <rule-name>]
где
ipv4|ipv6– уровень конфигурации IPv4/IPv6;<rule-type>– тип правила;<rule-name>– строка.
На данном уровне конфигурации доступны следующие настройки:
from <address>– применить проверку на соответствие адресу источника, где<address>– IPv4-адрес в форматеA.B.C.Dили IPv6-адрес в форматеA:B:..:H;to <address>– применить проверку на соответствие адресу назначения, где<address>– IPv4-адрес в форматеA.B.C.Dили IPv6-адрес в формате `A:;interface <interface-name>– применить проверку на соответствие входному интерфейсу, где<interface-name>– имя существующего интерфейса;proto <protocol>– применить проверку на соответствие IP-протоколу, где<protocol>– число от 1 до 255 или строка из предложенного в командной строке списка;sport-range low <low-port-number> high <high-port-number>– применить проверку на соответствие указанному диапазону портов источника, где<low-port-number>,<high-port-number>– число от 1 до 65535;dport-range low <low-port-number> high <high-port-number>– применить проверку на соответствие указанному диапазону портов назначения, где<low-port-number>,<high-port-number>– число от 1 до 65535;group <group-name>– указать группу, к которой применяется правило, где<group-name>– имя существующей группы.
Все правила выстраиваются в упорядоченный список и выполняются последовательно. При этом, если правило срабатывает для пакета и находится маршрут в соответствующей группе, дальнейший анализ правил прекращается, иначе – продолжается согласно списку.
Пример настройки правила для направления трафика в группу gw1 или gw2.
[edit router pbr ipv4]
# set post rule to-gw1 from 192.168.0.0/24 group gw1
# set post rule to-gw2 from 192.168.1.0/24 group gw2
Примечание
В рассматриваемом примере создаются два правила с критериями post, которые срабатывают после стандартной статической маршрутизации. Если в конфигурации присутствует шлюз по умолчанию, правила статической маршрутизации pbr никогда не выполнятся, так как решение о маршрутизации принимается на этапе стандартной маршрутизации. Таким образом, если используются правила типа post необходимо удалить маршрут по умолчанию и создать его как последнее правило статической маршрутизации pbr типа post. Для этого применяются команды:
[edit router pbr ipv4]
# top
# del router unicast ipv4 to 0.0.0.0/0
# edit router pbr ipv4
[edit router pbr ipv4]
# set post rule default to 0.0.0.0/0 group gw1
# insert post rule default last
В данном примере весь трафик, не попадающий под правила to-gw1 и to-gw2, перенаправляется в группу gw1.
25.3. Качество канала связи (sla)¶
Для проверки соответствия качества канала связи в правилах статической маршрутизации на основе политик в ПАК “Фортикс” реализованы следующие механизмы:
keepalive– механизм простых ping-проб;sla– расширенный механизм оценки канала связи.
Предупреждение
Каждое правило может использовать только один механизм проб.
Механизм ping-проб позволяет задавать мониторинг удалённого узла с помощью ICMP-пакетов (если узел перестаёт отвечать на запросы, правило перестаёт действовать).
Настройка механизма ping-проб осуществляется на следующем уровне конфигурации:
[edit router pbr ipv4|ipv6 <rule-type> rule <rule-name> keepalive]
где
ipv4|ipv6– уровень конфигурации IPv4/IPv6;<rule-type>– тип правила;<rule-name>– строка.
На данном уровне конфигурации доступны следующие настройки:
peer <address>– указать узел назначения для проб, где<address>– IPv4-адрес в форматеA.B.C.Dили IPv6-адрес в форматеA:B:..:H;interval <interval-value>– указать интервал отправки ping-проб, где<interval-value>– число секунд, по умолчанию – 1;retries <retries-value>– указать количество попыток, где<retries-value>– число, по умолчанию – 3;interface <interface-name>– указать интерфейс для отправки, где<interface-name>– имя существующего интерфейса.
Пример настройки ping-проб:
[edit router pbr ipv4]
# set post rule to-gw1 keepalive peer 192.168.0.1
Настройка механизма sla осуществляется на следующем уровне конфигурации:
[edit router pbr ipv4|ipv6 <rule-type> rule <rule-name> sla]
где
ipv4|ipv6– уровень конфигурации IPv4/IPv6;<rule-type>– тип правила;<rule-name>– строка.
На данном уровне конфигурации доступны следующие настройки:
count <count>– определить количество последних проб, для которых рассчитываются параметры качества, где<count>– число от 0 до 65535, по умолчанию – 100;interface <interface-name>– указать интерфейс для отправки, где<interface-name>– имя существующего интерфейса;peer <address>– указать узел назначения проб, где<address>– IPv4-адрес в форматеA.B.C.Dили IPv6-адрес в форматеA:B:..:H;max-jitter <max-jitter-value>– указать максимальную задержку в доставке пакетов, где<max-jitter-value>– число миллисекунд от 0 до 65535;max-rtt-avg <max-rtt-avg-value>– указать общее время, необходимое для передачи и возврата ответа, где<max-rtt-avg-value>– число миллисекунд от 0 до 65535;max-packet-loss <max-packet-loss-value>– определить процент потерь, где<max-packet-loss-value>– число процентов от 1 до 100.
При превышении значений, заданных данными настройками, правило перестаёт действовать.
Пример настройки механизма sla:
[edit router pbr ipv4]
# set post rule to-gw1 sla peer 192.168.0.1 max-rtt-avg 10 count 10
25.4. Диагностика¶
Для просмотра действующих правил маршрутизации применяется команда:
> show router pbr ipv4|ipv6
где ipv4|ipv6 – уровень конфигурации IPv4/IPv6.
Для просмотра групп маршрутизации применяется команда:
> show router pbr ipv4|ipv6 group <group-name>
где
ipv4|ipv6– уровень конфигурации IPv4/IPv6;<group-name>– имя существующей группы.