From fcca92706bba256923f74a3d632984f116794270 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Fri, 16 Oct 2026 09:58:16 +0700 Subject: [PATCH] =?UTF-8?q?chore(docs):=20=D1=81=D0=BE=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D1=83=20=D0=B7=D0=B0=D1=89=D0=B8=D1=82=D1=8B=20=D0=BE?= =?UTF-8?q?=D1=82=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=87=D0=B5=D1=80=D0=B5=D0=B4=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/PRODUCTION-ARN-276.md | 80 ++++++++++++++++++++++++++++++++++++ docs/ux-ui-progress.md | 10 +++++ 2 files changed, 90 insertions(+) create mode 100644 deploy/PRODUCTION-ARN-276.md diff --git a/deploy/PRODUCTION-ARN-276.md b/deploy/PRODUCTION-ARN-276.md new file mode 100644 index 00000000..80d15e61 --- /dev/null +++ b/deploy/PRODUCTION-ARN-276.md @@ -0,0 +1,80 @@ +# Production276 — включение SYN cookies на arn-gw01 (2026-10-16) + +Владелец явно разрешил: «Включить tcp-syncookies и проверить». +Исходная диагностика: [Production275](PRODUCTION-ARN-275.md). + +## Применение + +Перед записью проверены server ID1/host `arn-gw01.rtnt.top` и исходное +`tcp-syncookies=false`. Первая попытка PATCH `/ip/settings` была отклонена400 +`missing or invalid resource identifier`; значение после отказа осталосьfalse. +Этот singleton-раздел изменяется командой POST `/ip/settings/set`. + +Выполнена ровно одна успешная команда с единственным параметром +`{"tcp-syncookies":"true"}`. Подтверждение в02:55:01.749 UTC, +повторное чтение02:55:01.893 UTC —true и корректная identity. +Местное время: **2026-10-16 09:55:01 по Новосибирску**. + +Пароли, пользователи, firewall, порты, маршруты, приложение, БД и контейнеры +не менялись; перезапуск не выполнялся. Уточнение протокола PATCH→POST не расширяет +согласованный scope и не меняет дополнительные параметры. + +## Метод проверки + +С тем же production-хостом, адресом устройства, учётной записью и проверкой TLS +повторяются GET system/identity с новым TCP/TLS, последовательно, без повторов +при ошибке. Один запрос каждые4 секунды,8 измерений. Отдельно захват45 секунд +только SYN/SYN-ACK на eth0, фильтр строго target IPv4/TCP443, без сохранения payload. +Проверяются результат чтения настройки, uptime и штатные задания scheduler. + +## Контрольные запросы после изменения + +С02:55:24 по02:55:53 UTC выполнены8 измерений. Все HTTP200, без повторов. + +| Замер | DNS | TCP установлен | TLS завершён | Заголовки ответа | Всего | +| --- | --- | --- | --- | --- | --- | +| 1 | 6 | 25 | 138 | 158 | 159 | +| 2 | 9 | 29 | 137 | 158 | 158 | +| 3 | 3 | 22 | 125 | 144 | 145 | +| 4 | 3 | 22 | 123 | 143 | 143 | +| 5 | 3 | 25 | 130 | 152 | 152 | +| 6 | 2 | 22 | 126 | 168 | 169 | +| 7 | 2 | 21 | 126 | 145 | 145 | +| 8 | 2 | 45 | 313 | 334 | 334 | + +Все значения — накопленные миллисекунды от начала запроса. Диапазон полного +запроса143–334мс против1162–5274мс в четырёх исходных измерениях; TCP21–45мс +против1042–5136мс. Настройка повторноtrue, uptime12m42s/CPU14% в замере02:55:54. + +В повторном45-секундном захвате42 SYN/SYN-ACK пакета (44 received by filter, +0 dropped by kernel), повторов SYN с тем же исходным портом/sequence в полученном +выводе не обнаружено. Запись payload не выполнялась. Захват завершился по timeout, +фонового процесса захвата после него нет. Это короткая выборка, а не гарантия +отсутствия сетевых потерь при любой нагрузке. + +На02:57:30 UTC /09:57:30 Новосибирск, через2мин29с после применения: + +| Штатное задание | Успешно | Ошибки | Максимальная длительность | +| --- | --- | --- | --- | +| traffic | 5 | 0 | 1091мс | +| gre_bgp | 5 | 0 | 426мс | +| uptime_resources | 10 | 0 | 854мс | +| internet_path | 1 | 0 | 284мс | + +Считались запуски с started_at после02:55:01.893 UTC. Финальный readbacktrue, +CPU6%, uptime14m19s, RouterOS7.24.5 stable — перезапуска не было. Доступное кольцо +логов04:55:53–04:57:16 по часам устройства не содержит новых SYN warning; +оно не покрывает весь интервал после изменения. Старые события не удалялись. + +В коротком сравнении после включения SYN cookies многосекундная задержка TCP +не воспроизвелась, результаты существенно лучше. Это согласуется с гипотезой +проблемы обработки входящих SYN на CHR, но не устанавливает источник всех прежних +потерь и не доказывает результат под другой нагрузкой. Дополнительные изменения +не применялись. Наблюдение и захват завершены; новых фоновых циклов нет. + +## Откат + +При необходимости по решению владельца повторно проверить устройство и текущее +значение, выполнить POST `/ip/settings/set` с `tcp-syncookies=false`, затем чтение +`/ip/settings?.proplist=tcp-syncookies`. Автоматического отката после успешной +проверки не предусмотрено: включение разрешено явно. Другие настройки не трогать. diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index ed2656fb..f9ee5d50 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,5 +1,7 @@ # UX/UI: журнал реализации +Текущее продолжение 2026-10-16: Production276 — по разрешению владельца включён tcp-syncookies на arn-gw01; повторное чтениеtrue.8/8 HTTP200, TCP21–45мс против1–5с до изменения, полный запрос143–334мс. За2мин29с штатные5 traffic/5 gre_bgp/10 resources/1 internet_path без ошибок. Других изменений и перезапуска не было; краткая проверка не доказывает отсутствие проблем при любой нагрузке. + Продолжение 2026-10-16: Production274 — по разрешению владельца на nov-gw01 выключены FTP/Telnet и оставлены выключенными по отдельному подтверждению. За21 минуту штатного опроса42 traffic/42 gre_bgp/4 internet_path/84 uptime_resources успешны, ошибок нет; новые подключения21/23 отклоняются. Причинная связь прошлых401/500 с подбором пока не доказана. Приложение/пароли/firewall не менялись; подсказки273 остаются локальными. Актуальное состояние 2026-10-16: Production272 — исправления268/270/271 опубликованы в main, CI2468 success, production backend/frontend обновлены до2.0.2 и healthy. В HTTP/UI подтверждены рекурсивные маршруты всех3 JH; Filters без ложного missing-route warning;4 узла карты и новая легенда. PostgreSQL не перезапускался. Read-only DNS и дальнейшая проверка трафика остаются отдельными задачами. @@ -42,6 +44,14 @@ | 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 | | 12 | Итоговая доступность, адаптивность, производительность и регрессия | Завершён2026-10-15 в границах предоставленного стенда:1396 UI/221 context,120 live states30 экранов, production builds/ReUI checklist и реальные интеграции. Ограничения — в [акте](ux-ui-acceptance-candidate.md); production-выпуск не выполнялся. | +## Production276 — SYN cookies arn-gw01 и повторная проверка (2026-10-16) + +После прямого разрешения владельца проверены ID1/host и false;16 октября09:55:01 по Новосибирску выполнен только POST /ip/settings/set с tcp-syncookies=true. Предварительный PATCH singleton-раздела отклонён400 без применения; использована штатная команда set с тем же единственным параметром. Повторные чтения и identity подтвердили результат. Пароли, службы, firewall, маршруты, приложение, БД и контейнеры не менялись; перезапуска не было. + +8 последовательных контрольных HTTP200: TCP21–45мс против1042–5136мс, полный HTTPS143–334мс против1162–5274мс в исходных4 замерах.45-секундный захват только target443 SYN/SYN-ACK:42 пакета, повторов SYN в полученном выводе нет, kernel dropped0, захват завершён. К09:57:30 штатные задания после применения:5 traffic/5 gre_bgp/10 resources/1 internet_path успешны, ошибок0, максимальные длительности1091/426/854/284мс. Финальный readbacktrue, CPU6%, uptime14m19s. В доступном неполном кольце логов новых SYN warning нет; старые события не удалялись. + +В кратком сравнении улучшение подтверждено, но источник всех потерь и поведение при другой нагрузке не доказаны. [Измерения и откат](../deploy/PRODUCTION-ARN-276.md). Диагностика завершена, фоновых циклов/захвата нет. Документация сохраняется локальным коммитом без push; код не менялся, повторная сборка не требовалась. + ## Production275 — диагностика SYN и задержек arn-gw01 (2026-10-16) На ID1/arn-gw01 воспроизведён REST timeout10с. Четыре последовательных HTTP200 показали DNS2–6мс, TCP1.042–5.136с, TLS ещё99–145мс, ответ после TLS19–21мс.20-секундный захват SYN/SYN-ACK только target443 на production-хосте подтвердил повторные SYN штатного приложения и ожидание ответа2.044/4.122с; нормальный SYN-ACK18–21мс. Место потери между хостом и обработкой CHR не установлено.