LINUX.ORG.RU

«лёгкий» по ресурсам способ блочить хосты?


0

1

хай всем

накидал небольшую систему, которая добавляла правило DROP с помощью iptables, на все ипаки, с которых сканили мой хост. за пол года (или за год - уже не помню) таких ипаков собралось около 10 тыщ. и ядро начало конкретно тормозить в скорости сетевой обработки и бешенно жрать проц. когда сбросил правила в ноль, тормоза прошли. я потом отказался от этой затеи (это были ещё 2.6 ядра), но сейчас возникла идея - может есть какой-нибудь лёгкий по ресурсам для ядра способ, дропать пакеты? или может фильтр какой написать, всё таки искать по бинарному дереву базу из 10тыщ ипаков это не сверх сложная задача.


всё таки искать по бинарному дереву базу из 10тыщ ипаков это не сверх сложная задача.

Буду сильно удивлен, если в iptables матчинг не быстрее.

baverman ★★★
()
Ответ на: комментарий от Harald

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

ioan
() автор топика

Правило для ESTABLISHED первым поставь и всякие частоиспользуемые src/dst, чтобы 99% трафика через твои тысячи не пробегало.

Хотя для современных процессоров 10к правил в иптаблесах это семечки. Я не думаю что эта машина у тебя гигабиты роутит и считает.

yu-boot ★★★★★
()

вообще ipset ок, но еще можно через -m recent извратиться

redixin ★★★★
()
Ответ на: комментарий от yu-boot

у веб сервера нету частоиспользуемых src/dst. поэтому этот способ отпадает. с ipset надо будет попробовать, спасибо кто подсказал.

ioan
() автор топика

по теме - тоже плюсую ipset. Хотя я его сам не юзал, затачивали его именно для случаев когда нужно что-то сделать с дохрена IP

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

ну так я ж о том и писал, iptables-дропы всегда были сначала, при 10к дропов начинается ужасный тормоз со стороны ядра. с ipset-ом как я понял быть такого не должно, руки не дошли попробовать, надо переписывать код будет.

ioan
() автор топика
Ответ на: комментарий от yu-boot

Правило для ESTABLISHED первым поставь ...
_Хотя_ для современных процессоров 10к правил

Тысячи будут пробегаться единичными пакетами, остальные осядут на первых 3-4-5.

В предыдущем посте _хотя_ звучит как аргумент для случая _без оптимизации_ правил. А сейчас ты просто пытаешься отмазаться. Впредь будь честен перед собой.

anonymous
()
Ответ на: комментарий от ioan

ну так я ж о том и писал, iptables-дропы всегда были сначала, при 10к дропов начинается ужасный тормоз со стороны ядра. с ipset-ом как я понял быть такого не должно, руки не дошли попробовать, надо переписывать код будет.

ipset как раз решает эту проблему перебора кучи IP в одном правиле.

saper ★★★★★
()

за пол года

Какой злопамятный =). Если уж система самописная, добавьте в код пару строчек чтоб записи старее двухнедельной давности удалялись из списка, вот он и сократится. Потом можно логику по-хитрее прикрутить - второй раз засветился ИП - на пару месяцев его запомнить ну и тд.

af5 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.