LINUX.ORG.RU

Iptables


0

1

$IPT -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT $IPT -I INPUT -i eth0 -p tcp --dport 80 -m connlimit --connlimit-above 5 -j DROP

Хочу ограничеть конекты на порт 80 получаю такое

iptables: Unknown error 4294967295

Вики на говорит:
connlimit — позволяет ограничивать количество одновременно открытых соединений с каждого IP-адреса (или подсети). Параметры:

[!] --connlimit-above количество — минимальное количество соединений. Все пакеты, проходящие по соединениям, установленным сверх заданного количества, считаются удовлетворяющими критерию. Например,

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 3 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

разрешит не более трех одновременных соединений к нашему веб-серверу с одного IP-адреса. Аналогичного эффекта можно добиться командами

iptables -A INPUT -p tcp --dport 80 -m connlimit ! --connlimit-above 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP

--connlimit-mask — маска подсети, для которой устанавливается общее ограничение на количество соединений. Например,

iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 5 --connlimit-mask 24 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

разрешит не более пяти одновременных соединений на порт 80 с каждой подсети класса 1C.

Не надо путать connlimit с hashlimit — hashlimit позволяет ограничить скорость поступления пакетов с хостов или подсетей (в сочетании с -m conntrack --ctstate NEW — скорость открытия новых соединений), а connlimit — количество одновременно открытых соединений.

ZaeLam3l
()

И в чём вопрос? Первая же ссылка в гугле призывает подумать о том, откуда взят модуль connlimit, как для команды iptables, так и для ядра (версии).

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.