Назад | Перейти на главную страницу

Что именно означают --limit 1 / s и --limit-burst в правилах iptables?

Я использую CentOS 5.x, пытаясь обдумать следующее правило iptables на одном из моих серверов:

-A RH-Firewall-1-INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

На другом сервере у меня есть:

-A RH-Firewall-1-INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 3 -j ACCEPT

Я понимаю, что оба эти правила предназначены для разрешения (и ограничения) входящих запросов ping, но что limit-burst вариант про? И эти надбавки на основе хоста? Или они вообще применимы ко всем входящим соединениям ICMP?

Математика полностью объяснена в документации netfilter, но разумно сказать, что limit-burst аргумент определяет количество разрешенных совпадений перед limit 1 в секунду "срабатывает". Оба эти правила применяются только к пакетам эхо-запросов ICMP (входящие запросы PING). Это не ограничения для каждого хоста, и они применяются ко всему, что соответствует правилу (в данном случае ко всем эхо-запросам ICMP).

--limit: Указывает скорость, с которой токены пополняются в корзину. 4/hour означает 4 токена в час (1 токен каждые 15 минут).

--limit-burst: Указывает максимальное количество токенов, которое может быть заполнено в корзине. (Это также количество токенов, с которым начинается ведро).

Я прочитал оба ответа, но на самом деле man itables-extensions заставил меня задуматься:

предел

Этот модуль соответствует с ограниченной частотой с использованием фильтра корзины токенов. Правило, использующее это расширение, будет соответствовать, пока не будет достигнут этот предел. Его можно использовать в сочетании с целью LOG, например, для ограниченного ведения журнала.

xt_limit не имеет поддержки отрицания - вам придется использовать -m hashlimit ! --hashlimit rate в этом случае без --hashlimit-mode.

  • --limit rate[/second|/minute|/hour|/day] - Максимальная средняя скорость совпадения: указывается в виде числа с необязательным /second, /minute, /hour, или /day суффикс; по умолчанию 3 / час.

  • --limit-burst number - Максимальное начальное количество совпадающих пакетов: это количество перезаряжается на один каждый раз, когда не достигается указанный выше предел, вплоть до этого числа; по умолчанию - 5.