В целом проблема сохранилась и оформилась в такую картину.
Сеть не "моргает", в т.ч. BFD не регистрирует потерь, соседи в сстоянии Full. Нагрузка на CPU не превышает 5%, памяти достаточно. При этом сразу после запуска/перезапуска FRR все выглядит предсказуемо, OSPF DB соответствует конфигурации.
Но... ровно через час (буквально до секунды) и без единой записи в логи происходит следующее:
из Net Link States пропадает линк на соседа
из OSPF network routing table выпиливается маршрут в транзитную сеть
из OSPF external routing table пропадает маршрут в целевую сеть
При этом OSPF Neighbors без изменений, сосед в Full, в BFD интерфейс Up.
Из замеченного: в Thread statistics for ospfd появляется ospf_maxage_lsa_remover.
Лечится (ну если можно так назвать) через FRR/Global Settings - Force Service Restart (ну тут в логах все красиво), после чего все работает... ровно час.
Конфиг:
frr defaults traditional
...
log syslog
service integrated-vtysh-config
!
interface tun_wg0
...
ip ospf network non-broadcast
...
ip ospf dead-interval 12
ip ospf hello-interval 3
ip ospf bfd
router ospf
ospf router-id Х.Х.Х.Х
log-adjacency-changes detail
redistribute kernel route-map ХХХ
timers throttle spf 200 1000 10000
passive-interface vmx1
area 0.0.0.0 shortcut default
neighbor 10.Х.Х.2 poll-interval 10
!
...
bfd
profile profile1
detect-multiplier 3
receive-interval 300
transmit-interval 300
echo-interval 50
no shutdown
echo-mode
!
peer 10.Х.Х.2 local-address 10.Х.Х.1 interface tun_wg0
profile profile1
Немного помогает добавление альтернативных маршрутов, тогда при отвале одного включается другие, правда иногда ассиметрично, при том, что косты расставлены корректно и для каждого конечного маршрута однозначно. Т.е. ручной рассчет дейкстры не совпадает с выбранным маршрутизатором. Да собственно и в OSPF external routing table виден результирующий кост, который больше, чем живые альтернативы.
Уже обновлял PFSense и FRR, играл с FW и MTU/MSS, медитировал на BFD и OSPF пакеты на интерфейсах...
Идеи закончились. Угнетает тишина в логах при потере маршрутов. Готов возвращаться на статику (BGP не предлагать).
Буду благодарен за любые конструктивные идеи.