From 01e72a8e39f23cbf8549c2e3426745dbca171550 Mon Sep 17 00:00:00 2001 From: bol-van Date: Sat, 22 May 2021 20:30:22 +0300 Subject: [PATCH] readme: rewrite badsum limitations --- docs/readme.txt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/readme.txt b/docs/readme.txt index 4d33434..447ce6f 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -220,16 +220,17 @@ nfqws * md5sig работает не на всех серверах. Пакеты с md5 обычно отбрасывают только linux. * badsum не сработает, если ваше устройство за NAT, который не пропускает пакеты с инвалидной суммой. - Наиболее распространенная настройка NAT роутера в Linux их не пропускает. На Linux построено большинство домашних роутеров. - Непропускание обеспечивается так : настройка ядра sysctl по умолчанию net.netfilter.nf_conntrack_checksum=1 - заставляет conntrack проверять tcp и udp чексуммы и выставлять state INVALID для пакетов с инвалидной суммой. + Наиболее распространенная настройка NAT роутера в Linux их не пропускает. На Linux построено большинство + домашних роутеров. Непропускание обеспечивается так : настройка ядра sysctl по умолчанию + net.netfilter.nf_conntrack_checksum=1 заставляет conntrack проверять tcp и udp чексуммы и выставлять + state INVALID для пакетов с инвалидной суммой. Обычно в правилах iptables вставляется правило для дропа пакетов с состоянием INVALID либо только в FORWARD, - либо в FORWARD и OUTPUT. Совместное сочетание этих факторов приводит к непрохождению badsum через такой роутер, а при наличии - дропа INVALID в OUTPUT и к неработоспособности nfqws с badsum с самого роутера. - В openwrt из коробки net.netfilter.nf_conntrack_checksum=0, в других роутерах часто нет, и не всегда это можно изменить. - Чтобы nfqws мог работать, нужно выставить указанное значение sysctl в 0 на роутере. - Если роутер за другим NAT, например провайдерским, и он не пропускает invalid packets, вы ничего не сможете с этим сделать. - Но обычно провайдеры все же пропускают badsum. + либо в FORWARD и OUTPUT. Совместное сочетание этих факторов приводит к непрохождению badsum через такой роутер, + а при наличии дропа INVALID в OUTPUT и к неработоспособности nfqws с badsum с самого роутера. + В openwrt из коробки net.netfilter.nf_conntrack_checksum=0, в других роутерах часто нет, + и не всегда это можно изменить. Чтобы nfqws мог работать, нужно выставить указанное значение sysctl в 0 на роутере. + Если роутер за другим NAT, например провайдерским, и он не пропускает invalid packets + вы ничего не сможете с этим сделать. Но обычно провайдеры все же пропускают badsum. * пакеты с badseq будут наверняка отброшены принимающим узлом, но так же и DPI, если он ориентируется на sequence numbers * TTL казалось бы - лучший вариант, но он требует индивидуальной настройки под каждого провайдера. Если DPI находится дальше локальных сайтов провайдера, то вы можете отрезать себе доступ к ним. Необходим ip exclude list, заполняемый вручную.