Как измерить время выполнения всех правил iptables.

leo3331
На сайте с 07.01.2007
Offline
154
789

Здравствуйте.

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

Это нужно для того что бы узнать скорость работы ipset.

Благодарю.

RAS
На сайте с 27.11.2005
Offline
126
RAS
#1

Только отладкой ядра.

Администрируем сервера, впс, вдс. Ускоряем загрузку сайтов - DLE, Word Press, Joomla, Modx... Настраиваем безопасность. Ручная чистка rootkit/malware/вирусов. (/ru/forum/867860) Разработка - shell/bash/sh/python/perl.
pupseg
На сайте с 14.05.2010
Offline
364
#2

так как iptables - вещь "ядерная" - то простыми методами - никак.

а зачем вам мерять скорость работы ipset ?

могу сказать так - на средненькой впс начинают быть тормоза где то при 50-70к правил.

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
leo3331
На сайте с 07.01.2007
Offline
154
#3

Вот у примеру при DDoS атаке, сколько ip сможет банить ipset при 8 ядрах 2,2ггц что бы запрос обрабатывался не больше 10мс.

Если знать статистику, то можно посчитать время.

[umka]
На сайте с 25.05.2008
Offline
456
#4
leo3331:
что бы запрос обрабатывался не больше 10мс.

Запрос или соединение?

Лог в помощь!
Z
На сайте с 06.09.2012
Offline
129
#5
leo3331:
Если знать статистику, то можно посчитать время.

На таком сервере от 1 микросекунды на пакет и выше. Зависит от нахождения искомых IP в кэшах.

Черный список врунов и обманщиков: ua-hosting.company, riaas.ru, takewyn.ru, yahoster/cadedic, Andreylab
leo3331
На сайте с 07.01.2007
Offline
154
#6
Запрос или соединение?

Я так понимаю что когда устанавливается соединение пакеты игнорируются в ipset, и проверяется ip только тогда когда уже отправляется заключительный пакет ASK от клиента. Или же пакеты SYN так же будут проверяться?

Z
На сайте с 06.09.2012
Offline
129
#7

Каждый пакет проверяется все время.

leo3331
На сайте с 07.01.2007
Offline
154
#8

Вероятно что Ipset можно настроить так что бы пакеты SYN игнорировались, а проверялись все остальные.

ХЧ
На сайте с 27.06.2014
Offline
26
#9
leo3331:
Здравствуйте.

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


Это нужно для того что бы узнать скорость работы ipset.


Благодарю.

Прочтите вот тут: http://www.protocols.ru/files/Papers/iptables-test.pdf

Люди описывают как проводили эксперимент.

N
На сайте с 06.05.2007
Offline
419
#10

Вообще, dmesg пишет время аж c шестью знаками после запятой (в современных ядрах). Можно добавить два правила iptables -j LOG и попробовать хватит ли этой точности. Подозреваю, что не хватит.

leo3331:
Я так понимаю что когда устанавливается соединение пакеты игнорируются в ipset, и проверяется ip только тогда когда уже отправляется заключительный пакет ASK от клиента. Или же пакеты SYN так же будут проверяться?

Если очень хочется, то можно подгрузить модуль conntrack и построить правила так, чтобы проверялся пакет только у новых соединений. Модуль как раз для этого и придуман.

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

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий