Всем привет.Итак, имеем три виртуальных FreeBSD на KVM (Proxmox VE), две из них соединены туннелем, промежуточная работает "интернетом" (за схему извините):
(11.11.11.11/24) em1 | (gre0 10.0.0.1/30 | em0 1.1.1.2/24) server1 -- gateway -- server2 (em0 2.2.2.2/24 | gre0 10.0.0.2/30) | em1 (22.22.22.22/24)
На "серверах" gateway_enable=YES, frr_enable=YES, натянут туннель GRE с маской /30, концы пингуются с обеих сторон, статические маршруты через туннель работают, IPsec между внешними интерфейсами натянут в транспортном режиме. Стоит включить zebra с ospfd - и начинается магия:
* hello идут подряд по несколько штук в одну сторону, ответные же приходят примерно через dead interval секунд (хотя второй роутер в это время так же шлёт свои подряд в туннель, так же не получая hello от первого, пока не пройдёт dead interval);
* таблицы маршрутов, соответственно, обновляются невовремя, а также роутеры пропадают друг у друга из соседей;
* пинги до lan за туннелем вообще не идут, при этом маршрут до этой сети, если он приходил через OSPF, пропадает из таблицы, стоит запустить пинг;
* во время прохождения мультикастов пинги не идут даже до другого конца туннеля.
Всё это происходит с обеих сторон. Фаерволлы выключены, на промежуточном включен, но открыто всё.
Если убрать туннель, перенести OSPF на внешние интерфейсы и поднять OSPF на промежуточном gateway, маршрутизация идеально работает, hello ходят туда-сюда каждые 10 секунд, соседи видятся, связность какая положено и пингуется всё отовсюду.
Помогите найти, где зарыта собака - во мне или где-то ещё.
Спасибо.