Ограничение по количеству пакетов в секунду. Спутник.

Skip to end of metadata
Go to start of metadata

Пример приведен для спутникового канала в 8 мбит/с с провайдерским ограничением 1000 пакетов в секнуду

Задача

Торрент у одного пользователя забивает весь канал, за счет выкачивания лимита, который установил вышестоящий провайдер

Решение

Внимание! Указанные действия необходимо производить когда сервер находится в режиме удаленного помощника.

Сначала нужно разрешить редактирование файла /usr/local/ics/bin/ics_tune.sh

mount -o rw,remount /mnt/ro_disc
chattr -i /usr/local/ics/bin/ics_tune.sh

Дальше нужно отредактировать файл /usr/local/ics/bin/ics_tune.sh

и привести его к подобному виду

#!/bin/bash

if [ "$1" = "firewall.sh" ]; then

#Добавляем новую цепочку
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

true


300 - размер пакета в кбайтах
300/sec - количество пакетов в секунду

Для применения изменений выполните команду (Перезагрузка не потреуется):

/usr/local/ics/bin/ics_tune.sh firewall.sh

Если файл не пустой, то старое содержимое оставить нетронутым и добавить в любое место файла основной условный блок из примера выше.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.