Сетевые технологии
Туннели IPsec
Принудительный рестарт IPsec при изменении или рестрате канала связи

Если IРsec используется поверх какого-либо сеансового канала связи (сотового, коммутируемого телефонного), или имеется выбор между несколькими разными каналами (например, проводным и сотовым, или двумя сотовыми), то при переустановлении соединения или при переходе на другой канал IP-адрес устройства меняется. Следовательно, для удалённой стороны она становится уже другим партнёром, с ним нужно устанавливать туннель заново, а старый туннель разорвать.

Поскольку технология IPsec предназначена для систем общего типа, она не привязана ни к каким другим аппаратным или программным компонентом и взаимодействует только с IP-маршрутизацией. Если для описания данной стороны соединения используется директива %defaultroute, то при изменении маршрута по умолчанию IPsec рестартует немедленно. Во всех остальных случаях IPsec не получает никакой информации об изменениях обстановки, а задача слежения за ней решается с помощью механизма встроенного механизма IPsec — DPD. Пакеты, отсылаемые по старому туннелю, не будут доходить до адресата, через какое-то время DPD сработает и инициирует рестарт туннеля; новый туннель будет построен уже по новому маршруту и от нового адреса. Достоинство этого механизма в его универсальности: он, как и IPsec в целом, разработан без какой-либо привязки к событиям на нижележащих уровнях. Но оборотная сторона этого достоинства в том, что он не может работать никак иначе, кроме как по непрохождению пакетов в течение определённого времени. На практике рекомендуемое время срабатывания DPD составляет 90–180 сек, иногда больше.

В устройствах NSG процесс переустановления туннеля (кроме вышеуказанного случая с маршрутом по умолчанию) можно ускорить, используя обработчик событий. Тогда IPsec будет рестартовать немедленно, как только изменилось состояние публичных интерфейсов или маршрутов. Например, если m1 — единственный сотовый порт:

services 
: event-handler 
: : 1 
: : : virt-sensor = ifstate.m1 
: : : state = up 
: : : prev-state = other 
: : : script = "ipsec setup restart"

Если сотовых портов два и они ранжированы по метрикам маршрутов (основной и резервный), то рестартовать IPsec следует при переходе основного порта и в UP, и в DOWN. Если контроль основного канала Ethernet (или другого Ethernet-подобного) осуществляется с помощью netping, то команду ipsec setup restart; следует добавить в оба скрипта netping.

ВНИМАНИЕ! Если данное устройство описано в left/right как %defaultroute, а маршрут на удалённый шлюз указан как маршрут по умолчанию и изменяется при изменении каналов связи, то принудительный рестарт IPsec использовать не следует.
Обратно в узел ipsec...

© Network Systems Group 2015–2024 Отдел документации