mirror of
https://github.com/bol-van/zapret.git
synced 2025-01-06 16:30:34 +05:00
readme: ipfrag pain notices
This commit is contained in:
parent
ece9324a23
commit
caad4edf5f
@ -1,4 +1,4 @@
|
|||||||
zapret v.44
|
zapret v.44
|
||||||
|
|
||||||
English
|
English
|
||||||
-------
|
-------
|
||||||
@ -428,10 +428,19 @@ IP ФРАГМЕНТАЦИЯ
|
|||||||
В современной сети с этом все очень плохо. Фрагментированные пакеты застревают по пути, часто отбрасываются.
|
В современной сети с этом все очень плохо. Фрагментированные пакеты застревают по пути, часто отбрасываются.
|
||||||
Иногда доходят. Иногда то доходят, то не доходят. Может зависеть от версии ipv4/ipv6.
|
Иногда доходят. Иногда то доходят, то не доходят. Может зависеть от версии ipv4/ipv6.
|
||||||
Роутеры на базе linux и freebsd могут самопроизвольно собирать или перефрагментировать пакеты.
|
Роутеры на базе linux и freebsd могут самопроизвольно собирать или перефрагментировать пакеты.
|
||||||
Linux всегда собирает проходящие ipv6 фрагменты, и это неотключаемо, но может отсылать фрагменты сам.
|
|
||||||
Позиция фрагментации задается отдельно для tcp и udp. По умолчанию 24 и 8 соответственно, должна быть кратна 8.
|
Позиция фрагментации задается отдельно для tcp и udp. По умолчанию 24 и 8 соответственно, должна быть кратна 8.
|
||||||
Смещение считается с заголовка, следующего за ip. В большинство случаев это транспортный заголовок.
|
Смещение считается с заголовка, следующего за ip. В большинство случаев это транспортный заголовок.
|
||||||
|
|
||||||
|
Существует ряд моментов вокруг работы с фрагментами на Linux, без понимания которых может ничего не получиться.
|
||||||
|
ipv4 : Linux дает отсылать ipv4 фрагменты, но стандартные настройки iptables в цепочке OUTPUT могут их дропать.
|
||||||
|
ipv6 : Нет способа для приложения гарантированно отослать фрагменты без дефрагментации в conntrack.
|
||||||
|
На разных системах получается по-разному. Где-то нормально уходят, где-то пакеты дефрагментируются.
|
||||||
|
Для ядер <4.16 похоже, что нет иного способа решить эту проблему, кроме как выгрузить модуль nf_conntrack,
|
||||||
|
который подтягивает зависимость nf_defrag_ipv6. Он то как раз и выполняет дефрагментацию.
|
||||||
|
Для ядер 4.16+ ситуация чуть лучше. Из дефрагментации исключаются пакеты в состоянии NOTRACK.
|
||||||
|
Чтобы не загромождать описание, смотрите пример решения этой проблемы в blockcheck.sh.
|
||||||
|
|
||||||
|
|
||||||
tpws
|
tpws
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user