tcp_be_liberal info

This commit is contained in:
bol-van 2023-10-29 13:04:04 +03:00
parent 438baf508a
commit 8c1d1cf37a
2 changed files with 8 additions and 2 deletions

View File

@ -20,10 +20,10 @@ zapret_do_firewall()
# russian DPI sends RST,ACK with wrong ACK.
# this is sometimes treated by conntrack as invalid and connbytes fw rules do not pass RST packet to nfqws.
# swith on liberal mode on zapret firewall start and switch off on zapret firewall stop
# switch on liberal mode on zapret firewall start and switch off on zapret firewall stop
# this is only required for processing incoming bad RSTs. incoming rules are only applied in autohostlist mode
# calling this after firewall because conntrack module can be not loaded before applying conntrack firewall rules
[ "$MODE_FILTER" = "autohostlist" -a "$MODE" != tpws-socks ] && set_conntrack_liberal_mode $1
[ "$MODE_FILTER" = "autohostlist" -a "$MODE" != tpws -a "$MODE" != tpws-socks ] && set_conntrack_liberal_mode $1
[ "$1" = 1 -a -n "$INIT_FW_POST_UP_HOOK" ] && $INIT_FW_POST_UP_HOOK
[ "$1" = 0 -a -n "$INIT_FW_POST_DOWN_HOOK" ] && $INIT_FW_POST_DOWN_HOOK

View File

@ -918,6 +918,12 @@ tpws/nfqws сами назначают владельцем файла юзер
Крайне рекомендовано использовать ограничитель connbytes, чтобы nfqws не обрабатывал гигабайты.
По этой же причине не рекомендуется использование режима на BSD системах. Там нет фильтра connbytes.
На linux системах при использовании nfqws и фильтра connbytes может понадобится :
sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1
Было замечено, что некоторые DPI в России возвращают RST с неверным ACK. Это принимается tcp/ip стеком
linux, но через раз приобретает статус INVALID в conntrack. Поэтому правила с connbytes срабатывают
через раз, не пересылая RST пакет nfqws.
Как вообще могут вести себя DPI, получив "плохой запрос" и приняв решение о блокировке :
1) Зависание : просто отмораживается, блокируя прохождение пакетов по TCP каналу.