|
|
@ -438,16 +438,7 @@ ipv6 : Нет способа для приложения гарантирова |
|
|
|
Для ядер <4.16 похоже, что нет иного способа решить эту проблему, кроме как выгрузить модуль nf_conntrack, |
|
|
|
который подтягивает зависимость nf_defrag_ipv6. Он то как раз и выполняет дефрагментацию. |
|
|
|
Для ядер 4.16+ ситуация чуть лучше. Из дефрагментации исключаются пакеты в состоянии NOTRACK. |
|
|
|
На практике это работает для цепочки OUTPUT. |
|
|
|
Чтобы не загромождать описание, смотрите пример решения этой проблемы в blockcheck.sh. |
|
|
|
Что касается forwarding, чтобы избежать дефрагментации потребуется залезть еще глубже. |
|
|
|
Может понадобиться загружать модули iptable_raw и ip6table_raw с параметром raw_before_defrag и |
|
|
|
переводить в состояние NOTRACK нужные пакеты. Но тем самым вы сломаете NAT и другие stateful операции. |
|
|
|
Для ipv6 может сработать, поскольку для ipv6 NAT обычно не делается. |
|
|
|
Альтернативно можно использовать nftables. Там можно задавать кастомные chains с любым приоритетом netfilter, |
|
|
|
в частности можно сделать цепочку с приоритетом меньше, чем defrag. |
|
|
|
Вы должны очень хорошо понимать что вы делаете и уметь тщательно проверить что у вас получилось. |
|
|
|
https://github.com/torvalds/linux/commit/902d6a4c2a4f411582689e53fb101895ffe99028 |
|
|
|
|
|
|
|
|
|
|
|
tpws |
|
|
@ -544,9 +535,9 @@ tpws может биндаться на множество интерфейсо |
|
|
|
Остальные параметры --bind-* относятся к последнему бинду. |
|
|
|
Для бинда на все ipv4 укажите --bind-addr "0.0.0.0", на все ipv6 - "::". --bind-addr="" - биндаемся на все ipv4 и ipv6. |
|
|
|
Выбор режима использования link local ipv6 адресов (fe80::/8) : |
|
|
|
--bind-iface6 --bind-linklocal=no : сначала приватный адрес fd00::/8, затем глобальный адрес |
|
|
|
--bind-iface6 --bind-linklocal=unwanted : сначала приватный адрес fd00::/8, затем глобальный адрес, затем link local. |
|
|
|
--bind-iface6 --bind-linklocal=prefer : сначала link local, затем приватный адрес fd00::/8, затем глобальный адрес. |
|
|
|
--bind-iface6 --bind-linklocal=no : сначала приватный адрес fc00::/7, затем глобальный адрес |
|
|
|
--bind-iface6 --bind-linklocal=unwanted : сначала приватный адрес fc00::/7, затем глобальный адрес, затем link local. |
|
|
|
--bind-iface6 --bind-linklocal=prefer : сначала link local, затем приватный адрес fc00::/7, затем глобальный адрес. |
|
|
|
--bind-iface6 --bind-linklocal=force : только link local |
|
|
|
Если не указано ни одного бинда, то создается бинд по умолчанию на все адреса всех интерфейсов. |
|
|
|
Для бинда на конкретный link-local address делаем так : --bind-iface6=fe80::aaaa:bbbb:cccc:dddd%iface-name |
|
|
|