PDA

Просмотр полной версии : fragment_packet. как вырубить?


nixovich
16.06.2011, 18:50
Надо вырубить 'поддержку' приёма/отправки фрагментированных пакетов
всё что я нашел...
/proc/sys/net/ipv4/ipfrag_high_thresh
/proc/sys/net/ipv4/ipfrag_low_thresh
/proc/sys/net/ipv4/ipfrag_time

выставление этим трём переменным нулевых значений наверно не то что нужно...

модули ядра вижу тока эти:
cat /boot/config-2.6.32-32-generic | grep FRAG
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3netfiltre'ом франментррованные зарезал, потомучто подругому незнаю как
как вырубить 'поддержку' приёма/отправки фрагментированных пакетов?

KEVin V.
16.06.2011, 20:04
как вырубить 'поддержку' приёма/отправки фрагментированных пакетов?
только не пойму - зачем это надо? вы не хотите принимать пакеты больше чем MTU провайдера? странная какая-то идея, если не хотите чтоб хост выступал только как источник для ICMP.
пакеты больше определенного размера в любом случае будут фрагментироваться, или имеются ввиду потерянные фрагменты?

nixovich
16.06.2011, 20:11
только не пойму - зачем это надо? вы не хотите принимать пакеты больше чем MTU провайдера? странная какая-то идея, если не хотите чтоб хост выступал только как источник для ICMP

странно...однако...а почему при дропнутых фрагментах мой хост станет "источником ICMP"? ICMP итак дропаются все за искл. 8,11. В последнее время дропаются все ICMP,
фрагменты дропаются в INPUT/OUTPUT
$IPT -A fragment_pkt -p ALL --fragment -j DROP возможно я тебя не понял...про ICMP
фрагменты моя система не юзала и не юзает, и усё в норме...

c0re
16.06.2011, 20:20
а чем не нравится вариант фаера?
и зачем дропать фрагментированные пакеты?

nixovich
16.06.2011, 20:23
а чем не нравится вариант фаера?
и зачем дропать фрагментированные пакеты?

1.) патамучто для меня существует такое понятие = "железо-бетон"
2.) зачем дропать? а зачем тратить на их обработку системные ресурсы?

KEVin V.
16.06.2011, 20:24
и зачем дропать фрагментированные пакеты?
я тоже немного недопонимаю суть проблемы... либо я смотрю не в ту сторону, либо... Чем не устраивает, что пакет размером в 4кб придет, например, 3-мя фрагментами?

nixovich
16.06.2011, 20:26
я тоже немного недопонимаю суть проблемы... либо я смотрю не в ту сторону, либо... Чем не устраивает, что пакет размером в 4кб придет, например, 3-мя фрагментами?

я выше ответил...зачем, правда ответил вопросом(наводящим) на вопрос
мож подскажите как решить вопрос из первого моего сообщения?

Jen
16.06.2011, 20:40
Я, наверное, глупость скажу, но странный подход к экономии системных ресурсов. Как-бы при современных мощностях это фигня и уже давным-давно. Реальные проблемы с фрагментированием пакетов вроде еще в прошлом веке изжили, вроде дыр лялиха до 2.0.31 (могу путать точную версию, давно это было), когда усе валилось на специально подготовленных пакетах.
Странно, чесслово. С учетом того, что система от мира окажется практически отрезанной.

nixovich
16.06.2011, 20:46
Я, наверное, глупость скажу, но странный подход к экономии системных ресурсов. Как-бы при современных мощностях это фигня и уже давным-давно. Реальные проблемы с фрагментированием пакетов вроде еще в прошлом веке изжили, вроде дыр лялиха до 2.0.31 (могу путать точную версию, давно это было), когда усе валилось на специально подготовленных пакетах.
Странно, чесслово. С учетом того, что система от мира окажется практически отрезанной.

ну да, еси про ресурсы говорим, то наверно всем понятно что ресурсов там крапаль, я ж не спец, тонкостей не знаю, как буфер сокета переполнять...
но то что система от мира не будет отрезана --это факт, моей системе фрагменты не нужны.
подскажите что править...

KEVin V.
16.06.2011, 20:54
/proc/sys/net/ipv4/ip_no_pmtu_disc Параметр ip_no_pmtu_disc запрещает поиск PMTU (от англ. Path Maximum Transfer
Unit -- Максимальный Размер Пакета для выбранного Пути). Для большинства случаев лучше установить в
эту переменную значение FALSE, или 0 (т.е. система будет пытаться определить максимальный размер
пакета, при котором не потребуется выполнять их фрагментацию, для передачи на заданный хост). Но
иногда, в отдельных случаях, такое поведение системы может приводить к "срывам" соединений. Если у
вас возникают такие проблемы, то вам следует попробовать отключить эту опцию (т.е. записать в
переменную число 1) и установить нужное значение MTU.
Обратите внимание на то, что MTU и PMTU -- это не одно и то же! MTU -- (от англ. Maximum Transfer
Unit -- максимальный размер пакета) определяет максимальный размер пакета для наших сетевых
интерфейсов, но не для сетевых интерфейсов на другом конце. PMTU -- опция, которая заставляет
систему вычислять максимальный размер пакета, при котором не потребуется фрагментация пакетов, для
маршрута к заданному хосту, включая все промежуточные переходы.

Значение по-умолчанию -- FALSE (0), т.е. функция определения разрешена. Если записать число 1 в
этот файл, то функция определения PMTU будет запрещена. Параметр
ip_no_pmtu_disc может принимать значение 0 или 1.можете попробовать поменять этот параметр но не факт что это поможет, а так поддерживаю Jen, нефрагментирование пакетов уже давно не проблема...

Jen
16.06.2011, 21:07
Речь ведь идет про лялих? Я чтой-то не уверен, что конфигами такого можно достигнуть, без лазания в сорцы. Хотя ХЗ, крайний раз лазил туда лазил лет 8 назад, когда гигабитка от syskonnect на асусе не хотела дружить с rtl. Забыл про такие лазания по сорцам как страшный сон :). Для средневзвешенных задач вполне себе ядро от поставщика обычно подходит.

---------- Добавлено в 17:07 ---------- Предыдущее сообщение было написано в 17:03 ----------

2Kevin V.: Это ведь только для исходящих до раутеров, если я верно понял.

nixovich
16.06.2011, 21:12
rfc2.ru/1191.rfc тоже пытаюсь вкурить... </br>говорят что задачу решает пременная ip_always_defrag </br>тока весь проц прошарил, ip_always_defrag не нашел </br>--- а где читануть, как модули УЖЕ скомпиленные вырубить? </br>мож чтото типа GRUB_CMDLINE_LINUX=&quot;&quot;

KEVin V.
16.06.2011, 21:15
только для исходящих до раутеров, если я верно понял.
ну вроде как бы да... вроде можно решить эту проблему (кроме как на уровне файра) на уровне ядра следующим:
Говорят, в некоторых "менее надежных" TCP стеках имеются проблемы, возникающие при большом количестве фрагментов пакетов, когда на машину приходят не все фрагменты. В Linux нет этой проблемы. Вы можете отфильтровывать фрагменты (что может отразиться и на нормальных пакетах) или скомпилировать ваше ядро с опцией "IP: always defragment "Y"" (только в том случае, если ваша машина Linux - единственный маршрут для этих пакетов).

дерзайте, но не знаю что там за P133 стоит и до сих пор жив, что может потребоваться данная опция...

nixovich
16.06.2011, 21:19
P133

ага, вроде как двух ядер для домашнего пня 133 с 4 гигами ОЗУ

---------- Добавлено в 20:19 ---------- Предыдущее сообщение было написано в 20:18 ----------

кстати вопрос про -j RETURN
допустим есть 2 правила
-A INPUT -p ALL -j fragment_pkt
-A fragment_pkt -p ALL --fragment -j DROP
и есть 2 правила
-A INPUT -p ALL -j fragment_pkt
-A fragment_pkt -p ALL --fragment -j DROP
-A fragment_pkt -p ALL -j RETURN
в чем здесь будет разница?

KEVin V.
16.06.2011, 21:22
по айпитаблес - умываю руки...

Jen
16.06.2011, 21:28
2nixovich: всеж-таки, объясните, зачем вам это надо? Задача, по ходу, весьма нетипичная, иначе оно гуглилось-бы на раз. Объяснение про экономию ресурсов, извините, не проходит. Любой из компьютеров у меня дома справится с этой задачей, не затратив и доли процента вычислительной можности. Вам хочется весьма странного, честно говоря. Вы ведь не строите высоконагруженный раутер на базе p133? Хотя и там даже очень фрагментированные пакеты с учетом архитектуры просто не смогут настолько забить шину, что-бы комп с этим не справился :). Вот ну некуда там будет поставить даже гигабитную карту.

---------- Добавлено в 17:28 ---------- Предыдущее сообщение было написано в 17:25 ----------

Ипать-колотить. Я шо, телепат? Я про п133 так, навскидку написал...

KEVin V.
16.06.2011, 21:33
Я про п133 так, навскидку написал...
я тоже навскидку про него подумал :)
по-поводу айпитаблес не подскажу, но вот ядро можно пересобрать с параметром всегда дефрагментировать да/нет... но это не отменит фрагментацию пакетов провайдером... они в любом случае буду приходить, только если провайдер не отключит фрагментацию на вашу сторону... но от вас только не фрагментированные будут уходить...

Jen
16.06.2011, 21:38
Я и говорю - отрезан от внешнего мира, если дропать фрагментрированное все подряд. А там еще и система упорная попадется, будет повторно бомбардировать пакетами до подтвержения о получении, там еще вопрос, на что ресурсов больше уйдет, на дропание многократное или на сборку пакета однократную :).

c0re
17.06.2011, 00:12
допустим есть 2 правила
-A INPUT -p ALL -j fragment_pkt
-A fragment_pkt -p ALL --fragment -j DROP
и есть 2 правила
-A INPUT -p ALL -j fragment_pkt
-A fragment_pkt -p ALL --fragment -j DROP
-A fragment_pkt -p ALL -j RETURN
жестяка :)
http://ru.wikipedia.org/wiki/Iptables

slim
17.06.2011, 13:24
можно задать размер буфера для сборки\разборки пакетов,
все что не влезет - дропнеца.

выключать полностью - не по-пацански.
да и хз, как это сделать.