fix(routing): исключить опрос выключенных устройств BGP и OSPF

This commit is contained in:
Denozordec committed 2026-10-09 17:22:41 +07:00
1 parent 89de7e134b
commit 8795969871
10 files changed
+299 -13

No files matched your search

+16 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-09: 12.5.82 исправил NAT без обязательного WAN, изолировал IPsec policy group и сохранил ограничения NAT/группы в истории. Production API init/client/restore/delete, сертификатный data plane, NAT Ping3/3 и capped bandwidth3s приняты; baseline восстановлен после ожидания динамических маршрутов. Backend ux-ipsec82c healthy, frontend ux-ipsec77. Следующий12.5.83 — BGP/OSPF selected/diagnostic paths: запрет опроса выключенных устройств и достоверность ошибок; затем реальные профильные сценарии маршрутизации. Этап12.5 открыт.
Актуальное продолжение 2026-10-09: 12.5.83 закрыл опрос выключенных устройств в BGP raw/selected и OSPF selected; выбранный OSPF сообщает отказ BFD/routes. Real disabled probe0, eBGP Established на двух CHR с reject-all input/output и baseline cleanup приняты. Backend ux-routing83 healthy, frontend ux-ipsec77. Следующий12.5.84 — реальная OSPF adjacency/маршрут через собственный GRE; этап12.5 открыт.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -36,7 +36,21 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–82 и ограничения ниже. Runtime backend ux-ipsec82c/frontend ux-ipsec77. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–83 и ограничения ниже. Runtime backend ux-routing83/frontend ux-ipsec77. |
## 12.5.83 — маршрутизация: выключенные устройства и реальная eBGP-пара (2026-10-09)
**Изменения.** BGP raw debug использует общую lookup зависимость и отклоняет enabled=false до создания клиента. Selected BGP sessions и selected OSPF также возвращают409 без опроса, независимо от типа Home Router/Exit Node. BGP debug журнал содержит число сессий вместо дублирования полного raw payload. Selected OSPF использует strict readOspfCatalogRaw: отказ BFD/routes или неправильный контейнер больше не подменяется успешными пустыми массивами; dependency failure503. Legacy aggregate paths не менялись этим блоком.
**Проверки.** BGP/OSPF catalog tests с новыми selected/raw disabled/unknown/invalid/enabled сценариями, OSPF BFD failure503; backend TypeScript, scoped ESLint/diff check passed. Сохраняются исходные OSPF unused and/measurePingByInterface warnings, новых ошибок нет. UI/контракты не менялись, frontend build и полная регрессия не повторялись.
**Real API.** Две собственные disabled DB записи с HTTP probe на приватном Docker DNS: Home Router/Exit Node × BGP raw/selected/OSPF selected409, probeRequests0. Записи удалены по id/name/host. Selected OSPF двух настоящих enabled CHR возвращает корректные массивы; это чтение исходно пустой OSPF конфигурации, не приёмка adjacency.
**eBGP.** Собственные RouterOS7.24 instances с private ASN65083/65084 и конкретными remote/local public IP, multihop eBGP connections и input/output reject-all chains. Native established=true на обоих CHR, production selected и catalog State Established/type eBGP/ASNs корректны; received prefixes0, catalog transmitted prefixes null как ненаблюдаемое значение. Инстансы/соединения/filter rules удалены по точным ID/name/chain/comment после полного preflight. Исходные ID connection/instance/filter/IPv4 route коллекций совпали на обоих CHR, default/management routes не участвовали в обмене. Это Establishment/read-only UI data contract, не route policy propagation, failover или maximum scale. [Отчёт](ux-ui/acceptance/routing-bgp-disabled-2026-10-09.json).
**Runtime.** Одна backend Docker сборка, entry/node --check/pg_restore18.6 и compose --wait passed. mmapp-test/backend:ux-routing83/version1.0.0-test.routing83, image sha256:b68c326b8ee601eb2c490e7517c49614abd8cdfccc9d2af2ec44fb5d3dc5aded7, healthy. Frontend ux-ipsec77 сохранён. Context ipsec82c +четыре routing backend файла рабочего состояния до коммита, archive eaaca441a3eae1c95396abaca4a09fa4a38e4a769adaff276fc4bbcadac18244; label routing83, не итоговый Git SHA. .env backup приватный; миграций нет. Один локальный коммит без push.
Следующий84 — OSPF Full adjacency и обучение только собственного частного prefix через собственный GRE; исходные public interfaces/default routes сохранить. BGP failover/route propagation/BFD optimizer/recursive diagnostics и внешние границы IPsec82 остаются открытыми. Версия RouterOS7.20+ с явными instance подтверждена [MikroTik BGP](https://help.mikrotik.com/docs/spaces/ROS/pages/328220/BGP) и настоящим API7.24.5; схема таблиц/деталей сохраняет референсы Data Grid Filtering2/List9 общего плана.
## 12.5.82 — IPsec: NAT, policy group, реальная передача и полный цикл (2026-10-09)