Есть вуртуальная машина с проброшенным в нее сетевым интерфейсом eth0 (в HN он не виден, как и в других виртуалках) и смотрящая через этот интерфейс в интернет. Столкнулся с SYN flooding на DNS сервер. Почитал в инете, что с этим можно бороться посредством iptables так: # Отслеживаем атаку и все запросы которых более 15 за 60 сек отправляем в цепочку для логирования и скидывания. #Для отслеживания атак оправляем на проверку в цепочку flooding все открытые и смотрящие в инет порты. -A flooding -m state --state NEW -m recent --set -A flooding -m state --state NEW -m recent --update --seconds 60 --hitcount 15 -j log_flooding # Логим атаку и вторым правилом скидываем все запросы дабы не плодить очереди -A log_flooding -m limit --limit 5/s -j LOG --log-prefix "FLOODING: " -A log_flooding -j DROP Что имеем. При заходе на виртуальныю машину идет ругань Warning: Unknown iptable module: ipt_recent, skipped При выполнении команды для добавления правила тоже ошибка выскакивает. iptables -A flooding -m state --state NEW -m recent --set iptables: Unknown error 18446744073709551615 ВЫВОД нет модуля recent. Мое ядро 2.6.18-128.2.1.el5.028stab064.7 Буду обновляться до 2.6.18-164.10.1.el5.028stab067.4.x86_64, но есть ли в этом ядре возможность подгрузки модуля recent в виртуалку? Если нет, то какой выход предложите для защиты сервисов смотрящих в инет?
Здравствуйте, возможность должна быть. Необходимо загружать модуль iptables до старта CT. Попробуйте следующую последовательность действий. # vzctl stop CTID # modprobe ipt_recent # modprobext_state # vzctl start CTID