Не подскажете каким образом установить этот пакет.
Большое спасибо!
Нашел кое что интересное.
rmmod ipt_recent # Сносим модуль modprobe ipt_recent ip_pkt_list_tot=70 ip_list_tot=200 # Включаем сного устанавливая свои параметры.
В итоге при помощи модуля recent я могу достичь своей цели.
Перечитал доки iptables, конкретно про udp. Там сказано, что пакеты этого протокола могут иметь состояния, NEW & ESTABLISHED.
Ещё опробовал свой пример с -m state. Работает.
Ну вот, узнал кое что новое). Так и приходится учиться:).
Так, я полагаю, будет правильно?
Значит поступив по хитрому, и сделав так:
iptables -A INPUT -p udp --dport *** -m state ! --state NEW -m hashlimit --hashlimit-above 150/second --hashlimit-burst 150 --hashlimit-mode srcip --hashlimit-name GAME -j DROP
У нас вместимость хранилища будет 150 пакетов, и каждую секунду будет очищаться. И тогда ни кто не сможет отправить в чат, пару тысяч сообщений в секунду.
Остается методом тыка узнать сколько в секунду пользователи шлют пакетов, дабы не лишить игры всех остальных:).
man я перечитал, но все равно сложно понять как это устроено. По этому прошу, если это не сложно, объяснить по подробнее.
Можете объяснить как работают:
--hashlimit-above 1/second --hashlimit-burst 20
Я неправильно выразился.
Лимит для каждого клиента(игрока). В общем это не важно, я фигню сказал.
Атака происходит следующим образом. Нехороший пользователь заходит в игру и при помощи нехороших программ начинает создавать флуд. К примеру просто отправляя огромное количество сообщений в чат.
Спасибо, буду разбирать.
И я забыл уточнить, мне нужно сделать для каждого подключенного ip адреса свой ограничитель.
На сервере находится игра (что то вроде Counter Strike).
Ясно, спасибо. )