|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (10)
просмотр истории страницыПример приведен для спутникового канала в 8 мбит/с с провайдерским ограничением 1000 пакетов в секнуду h4. Задача Торрент у одного пользователя забивает весь канал, за счет выкачивания лимита, который установил вышестоящий провайдер h4. Решение |
*Внимание\!* Указанные действия необходимо производить когда сервер находится в режиме [удаленного помощника|http://asrdoc.ideco-software.ru/pages/viewpage.action?pageId=2687433]. |
... |
if [ "$1" = "firewall.sh" ]; then |
#iptables -t mangle -I PREROUTING -p tcp --dport 1024: -m length --length 0:300 -m limit ! --limit 300/sec -j DROP #iptables -t mangle -I PREROUTING -p udp --dport 1024: -m length --length 0:300 -m limit ! --limit 300/sec -j DROP |
#Добавляем новую цепочку iptables -t mangle -N short_packet |
|
#Ограничиваем трафик по количеству пакетов в секунду iptables -t mangle -I short_packet -m limit --limit 300/sec -j RETURN iptables -t mangle -A short_packet -j DROP |
|
#Перенаправляем в нее маленькие пакеты iptables -t mangle -I PREROUTING 12 -p udp --dport 1024: -m length --length 0:300 -j short_packet iptables -t mangle -I PREROUTING 12 -p tcp --dport 1024: -m length --length 0:300 -j short_packet iptables -t mangle -I PREROUTING 12 -p udp --sport 1024: -m length --length 0:300 -j short_packet iptables -t mangle -I PREROUTING 12 -p tcp --sport 1024: -m length --length 0:300 -j short_packet |
|
|
fi |
... |
{code} |
*100* \- количествово примерное количество пользователей, которые будут использовать ip адрес *169.0.0.1* Если адреса белые то нужно добавить также команду: |
*300* \- размер пакета в кбайтах *300/sec* \- количество пакетов в секунду |
{code} |
#iptables -t mangle -I state_new -d 169.0.0.1/32 -m connlimit ! --connlimit-above $((300*100)) --connlimit-mask 32 -j RETURN {code} |
Для применения изменений выполните команду (*Перезагрузка не потреуется*): {code} |
... |