Openvpn p2p + ospf
-
приветствую,
имеется сеть с 3-мя pfsense роутерами ver 2.3.2 amd64 между которыми подняты vpn (openvpn p2p psk). Для дальнейшего расширения настроена динамическая маршрутизация на ospf протоколе( установлен соответствующий пакет). Метрика каждого vpn соединения - 10. Все сети в одной area.Проблема при падении соединения vpn и последующем востановлении пакеты продолжают ходить по длинному маршруту, а не по короткому (ждать можно до бесконечности) . В таблице маршрутизации присутствует короткий маршрут ospf и длинный маршрут kernel. Насколько я понимаю zebra не переписывает маршруты.
-
Доброе
Скрины настроек OSPF. -
настройки на других маршрутизаторах аналогичны.
-
Может объявить короткий маршрут дефолтным (Redistribute default route) ? Или метрику короткого понизить ?
Т.е. объяснить пф , что короткий маршрут имеет приоритет. -
А после востановления каналов, что показывает OSPF статистика.
Может просто не происходит обратной линковки? -
Может объявить короткий маршрут дефолтным (Redistribute default route) ? Или метрику короткого понизить ?
Т.е. объяснить пф , что короткий маршрут имеет приоритет.Redistribute default route - используется для того чтобы зарулить весь трафик офиса в цо.
С метрикой и так получается 10<10+10. Днем приложу скины. -
А после востановления каналов, что показывает OSPF статистика.
Может просто не происходит обратной линковки?Линковка происходит и в статусе это видно. И ospf правильный маршрут показывает, но заменить маршрут который в ядре не может.
-
Проблема при падении соединения vpn и последующем востановлении пакеты продолжают ходить по длинному маршруту, а не по короткому (ждать можно до бесконечности) . В таблице маршрутизации присутствует короткий маршрут ospf и длинный маршрут kernel. Насколько я понимаю zebra не переписывает маршруты.
Проблема тут в следующем. При изменении состояния интерфейса запускается "rc.start_packages: Restarting/Starting all packages". Всё бы было хорошо, но рестарт сервисов quagga и zebra сделан через "kill -9", то есть сервис просто убивается принудительно, в результате все добавленные ospf роуты превращаются в статику, а статика всегда имеет приоритет и zebra удалить их уже не может.
Есть два способа решения проблемы.
Первый (быстрый). В файле /usr/local/pkg/quagga_ospfd.inc убираем "-9" в строчках с kill и killall (нужно будет потом сохранить конфигурацию, для обновления скрипта запуска). После этого рестарт будет нормальный. Но при этом на какое-то время будут пропадать все маршруты ospf.
Второй (правильный). Делаем по первому способу (для нормального рестарта). Затем ставим пакет "System_Patches" и через него применяем патч http://files.pfsense.org/jimp/patches/skip_restart_for_routing_packages-2.3.1.patch (другие версии этого патча есть там же http://files.pfsense.org/jimp/patches/). Для применения конкретно этого патча нужно установить "Path Strip Count" в 2. После этого при изменении состояния интерфейса zebra перезапускаться не будет.
https://forum.pfsense.org/index.php?topic=80262.0
https://redmine.pfsense.org/issues/4868
-
Сталкивался с похожей проблемой. При пропадании L2TP линка в один из филиалов pfSense 2.2.6 перезапускал сервера Open VPN, к которым коннектятся другие филиалы.