Shaper — ограничение траффика на Linux

Требовалось ограничить траффик на сервере в 200мбит. При поисках вышел на статью и статью.

Если говорить о второй статье она мне ничуть не понравилась, как и программа, но некоторое я оттуда взял.


А так.

1. Создаем где-то в папке shaper.sh

1
2
3
4
mkdir /etc/rcshaper
cd /etc/rcshaper
touch rcshaper.sh
chmod +x rcshaper.sh

содержимое файла rcshaper.sh:

1
2
3
4
5
6
7
8
#!/bin/bash
size="200000Kbit" #скорость
device="eth0"
/sbin/tc qdisc del dev $device root
/sbin/tc qdisc add dev $device root handle 1:0 htb default 10
/sbin/tc class add dev $device parent 1:0 classid 1:10 htb rate $size ceil $size prio 0
/sbin/iptables -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 10
/sbin/tc filter add dev $device parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10

2. Даем ему выполнятся при автозагрузке:

1
echo "bash /etc/rcshaper/rcshaper.sh" >> /etc/rc.local

3. Запускаем bash /etc/rcshaper/rcshaper.sh

4. Любуемся статистикой watch /sbin/tc -s -d class show dev eth0