Особенности реализации RRI

После построения IPsec SA, на шлюзе безопасности (при включенном RRI) вычисляется обратный маршрут (RR), который вносится в таблицу маршрутизации. Основанием для такого маршрута являются следующие данные:

селектор SA (ID второй фазы IKE)

адрес назначения туннельного заголовка SA (tdst)

системная таблица маршрутизации (без учета маршрутов, добавленных подсистемой RRI).

Вычисление маршрута:

ID партнера[1] второй фазы IKE преобразуется в адрес и маску подсети. Полученные адрес и маска будут адресом назначения создаваемого RR. Если ID имеет протоколы и/или порты, содержит произвольный диапазон адресов, которые невозможно преобразовать в адрес и маску подсети, то обратный маршрут не создается.

В системной таблице производится поиск туннельного адреса SA.

Если правил не найдено (“Destination Unreachable”), RR не добавляется.

Если найдено правило прямой маршрутизации через интерфейс, вычисленный маршрут будет через gateway tdst.

Если найдено правило прямой маршрутизации через gateway GW, вычисленный маршрут будет через gateway GW.

Если маршрут успешно вычислен, проверяется следующее:

Такой же маршрут был ранее добавлен подсистемой RRI для SA с тем же tdst. В этом случае увеличивается счетчик ссылок, маршрут не добавляется.

Маршрут для SA c такими же ID второй фазы и tdst уже добавлен, но отличается. В этом случае существующий маршрут обновляется, увеличивается счетчик ссылок.

Маршрут c такими же параметрами уже добавлен, но для SA с другим tdst. Маршрут не создается, счетчик ссылок не увеличивается.

Маршрут, соответствующий ID партнера есть в системной таблице, но подсистемой RRI он не добавлялся. В этом случае маршрут не создается.

При удалении SA из ядра, счетчик ссылок соответствущего маршрута уменьшается, при обнулении счетчика маршрут удаляется.

 

В случае аварийного завершения работы сервиса vpnsvc маршруты, добавленные RRI в таблицу маршрутизации, будут удалены.

 

Предупреждение: недопустимо вручную изменять или удалять правила маршрутизации, которые автоматически формируются при использовании RRI.

 

В Таблица 1 приведены некоторые возможные конфликтные ситуации.

 

Таблица 1

N

Ситуация

Поведение продукта

Отличие в поведении в Cisco  IOS 

1 

Строится IPsec SA, при этом ID партнера второй фазы IKE не является подсетью (содержит диапазон IP-адресов, порты и/или протоколы).

Маршрут RR не добавляется и выдается предупреждение в файл лога 1.2 

Диапазоны адресов в Cisco IOS также не поддерживаются.

При наличии портов, протоколов в ID партнера в Cisco IOS маршрут создается. 

2 

Имеется построенный IPsec SA и в таблицу внесен вычисленный RR по нему. Строится другой IPsec SA и по нему также вычисляется RR. Оба IPsec SA имеют разные локальные ID, но одинаковые ID партнеров. Если при этом отличаются туннельные адреса, то для двух таких SA могут потребоваться разные маршруты, а добавить второй маршрут невозможно.

Маршрут RR создается только для первого из конфликтующих SA, а при создании второго SA в файл лога выдается предупреждение 1.1

Создаются два маршрута.

3 

При создании IPsec SA вычисляется маршрут RR, который вступает в конфликт с существующими маршрутами.

Если в таблице есть такой же маршрут (адрес назначения совпадает), маршрут RR не добавляется. В файл лога выдается сообщение 1.4.

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

Добавляется новый RR маршрут (выбор маршрута при этом строго не определен).

4 

Конфликт с более узкими фильтрами без RRI.

Маршрут создается без учета таких конфликтов, то есть через pass или ipsec фильтр без RRI пакет может уйти не туда.

 

5 

При построении IPsec SA в транспортном или туннельном режиме, ID партнера совпадает с туннельным адресом. Маршрут будет как бы рекурсивным – адрес назначения совпадает с адресом шлюза.

Добавляется RR маршрут.

Маршрут не создается.

6 

При попытке создания IPsec SA, отсутствует маршрут до туннельного адреса[2], например, произошел разрыв соединения.

Маршрут RR не добавляется, в файл лога выдается диагностика 1.3

 

7 

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

Каждый раз при создании IPsec SA с RRI происходит перезачитывание системной таблицы маршрутизации. Если для вновь создаваемого SA старый маршрут оказывается неправильным, он обновляется (см. 5). Другие, ранее созданные RR маршруты, не проверяются.