node-accelerator v3.7: FW_MODE=strict|open|skip (совместимость с 3x-ui) - #15
Merged
Conversation
…-ui (v3.7) Раньше protect.sh всегда ставил allowlist-файрвол (policy drop) — норма для Remnawave node, но на 3x-ui inbound-порты создаются из панели динамически, и strict молча резал панель и inbound'ы. Теперь: - strict (дефолт, прежнее поведение) — блок всех не перечисленных портов; - open — вся защита (flag-drop/анти-спуф/флуд-лимиты/SSH-бан/CrowdSec) без блокировки прочих портов; анти-скан автобан и node-port правила не ставятся; - skip — nftables не трогаем (только CrowdSec) + инструкция, как закрыть порты вручную; предлагает снять ранее установленную na_filter. Интерактивный прогон спрашивает режим; найден 3x-ui → предлагается open + громкий warn. FW_MODE персистится (protect.conf, protect.installed). diagnose: fw_mode в --json, осознанный skip = info, а не WARN. CI: DRY_RUN open/skip + отказ на кривом FW_MODE; apply-smoke: все три режима. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner
|
Смержено в main через релизную ветку #16 (авторство коммита сохранено) и выпущено как v3.7. Спасибо за отличный PR — дефолты не тронуты, смоук на все три режима, персист и honest-diagnose сделаны ровно как надо. 👍 Сверху доехал один догоняющий коммит: в CI 6/6 зелёный, тег |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Зачем
protect.shвсегда ставил allowlist-файрвол (policy drop: всё, кроме SSH/сервисных/node-agent портов, блокируется). Для Remnawave node это норма — порты известны заранее. На 3x-ui inbound-порты создаются из панели динамически → strict-файрвол молча резал панель и inbound'ы.Что сделано
FW_MODE=strict|open|skip(protect.sh)strict(дефолт, прежнее поведение) — блокировать все не перечисленные порты;open— вся защита (flag-drop / анти-спуф / SYN+UDP-flood / SSH-бан / CrowdSec / автобаны) активна, но не перечисленные порты не блокируются (policy accept+ catch-all accept). Анти-скан автобан не ставится («закрытых» портов нет — meter банил бы легитимные коннекты к inbound-портам), node-port правила тоже (на 3x-uiNODE_PORTможет оказаться чьим-то inbound'ом);skip— nftables не трогаем вообще (CrowdSec/ctguard — по своим флагам) + печатается инструкция, как закрыть порты вручную (модулем / голым nft-allowlist'ом / ufw). При найденной ранее установленнойna_filterинтерактивно предлагает её снять.UX
x-ui.service//usr/local/x-ui/x-uiв PATH): дефолт вопроса сдвигается наopen+ громкий warn; strict при найденном 3x-ui тоже ругается.strict) — существующие Remnawave-прогоны не меняются.FW_MODEперсистится вprotect.conf/protect.installed(ре-ран помнит выбор, ENV переопределяет).Сопутствующее
diagnose.sh:fw_modeв--json; осознанныйskip—info, а не WARN «защита не стоит»; активная таблица вopenподписывается честно.na_filter→ приskipпропускаются громко; ctguard независим.FW_MODE=open/skipна матрице дистрибутивов (реальныйnft -c), отказ на кривомFW_MODE.apply-smoke.sh: полный apply-path всех трёх режимов подset -u(policy drop/accept, отсутствие анти-скана и node-port в open, отсутствие артефактов файрвола в skip).NA_VERSION=3.7.Проверено
bash -nпо всем скриптам — чисто.bash tests/apply-smoke.sh— OK (strict/open/skip).Заметки к релизу
.minisig-подписи модулей инвалидированы правками — пересоздать при релизе по RELEASING.md.NA_REF=v3.6в README/install.sh не трогал: тег v3.7 ещё не существует.🤖 Generated with Claude Code