Я использую 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.