Skip to content

2.25.2

Choose a tag to compare

@github-actions github-actions released this 05 Oct 13:32

Автоподбор: обрыв интернета больше не считается виной стратегии

Исправление к 2.25.0. Если во время проверки стратегии (сразу после применения или в окне наблюдения) пропадал интернет, Prokop мог решить, что не работает стратегия: поставить её на сутки на паузу, потратить дневное применение, а в окне наблюдения откатить рабочую стратегию. Теперь Prokop сначала проверяет, есть ли связь с сайтом в обход стратегии. Обновление ставится поверх, настройки не меняются, ничего делать вручную не нужно.

Что изменилось

  • Контрольная проверка связи. Когда проверка стратегии не прошла, Prokop делает одно дополнительное подключение к тому же адресу сайта напрямую, без DPI-стратегии, тем же изолированным путём, что и при подборе (рабочая конфигурация не меняется). Если сайт не отвечает даже на установку TCP-соединения или до него нет маршрута, значит, пропал интернет, а не сломалась стратегия.
  • Сразу после применения. При обрыве интернета изменение по-прежнему откатывается (стратегию нельзя подтвердить), но с причиной «нет сети»: без паузы на 24 ч и без расхода дневного лимита.
  • В окне наблюдения. Проверка, во время которой пропал интернет, теперь не засчитывается как неудача и не приводит к откату рабочей стратегии.
  • Если контрольная проверка не смогла выполниться (например, идёт другая операция), всё работает как раньше: неудача засчитывается стратегии. Prokop не придумывает оправдание, которого не проверил.

Исправлена находка AT-6 аудита от 5 октября: после 2.18.1 тайм-аут соединения справедливо перестал считаться обрывом сети (так же выглядит блокировка DPI), но замены не было, и почти любой обрыв во время проверки записывался в вину стратегии.

Что проверено

  • PASS: автоматические тесты, в том числе новые случаи в tests/autotune_apply.sh: контрольная проверка без ответа или без маршрута даёт откат с причиной «нет сети», ответ сайта или невозможность проверки оставляют вину на стратегии, при успешной проверке контроль не запускается; в окне наблюдения обрыв даёт «неопределённую» проверку вместо неудачи; контрольная проверка выполняется только внутри блокировки того применения, которое её запустило, посторонний процесс к этой блокировке не подключится.
  • NOT TESTED: на роутере (обрыв WAN во время проверки и наблюдения на реальном трафике).