Есть ли способ ratelimit udp-пакетов, предназначенных для моей Linux-машины? Я чувствую отбрасывание пакетов UDP, предназначенных для моей машины.
Было ли в Linux конфигурирование ограничения скорости UDP по умолчанию? Я видел конфигурирование ограничения скорости icmp в /proc/sys/net/ipv4/icmp_ratelimit
.
Да, это возможно с recent
модуль iptables. Для Вот:
iptables -I INPUT -p udp -i eth0 -m state --state NEW -m recent \
--update --seconds 60 --hitcount 10 -j DROP
Или, если вы хотите ограничить количество пакетов ICMP, вы можете сделать это с помощью
iptables -I INPUT -p icmp -i eth0 -m state --state NEW -m recent \
--update --seconds 60 --hitcount 10 -j DROP
Ограничитель пакетов (который является recent
iptables-module) не зависят от условий, при которых пакеты должны работать.
Вы можете указать временной интервал и порог пакетов. В этом примере будет разрешено только 10 пакетов UDP за 1 минуту.
Вероятно, вы хотите ограничить не соединение udp в целом, а только порт назначения. Например, это может быть полезно, если вы хотите остановить не очень жесткую DNS-DDOS-атаку. В этом случае вы также должны указать номер порта с флагом --dport 53
.
В /proc
файл, который вы упомянули, касается пакетов icmp. Это не имеет ничего общего с udp.
Удачи!