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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.