[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Подсчет трафика (+ шейпинг)



Artem Chuprina wrote:
 N> Из своего опыта: если есть внешний канал - то он шейпится,
Ой, не, это уже более изощренно, чем мне нужно.  Чтоб шейпить, надо
иметь четкое представление, что и зачем.

Можно сделать, для профилактики, просто - по ip: 4 + 3х255 строчек на сеть.

Правила tc.conf:
#!/bin/bash

#..................................................шапка:
tc qdisc add dev eth0 root handle 1: htb default  9991
tc class add dev eth0 parent 1: classid 1:9999 htb rate 1mbps burst 150k
tc class add dev eth0 parent 1:9999 classid 1:9991 htb rate 64kbps ceil 128kbps burst 150k
tc qdisc add dev eth0 parent 1:9991 handle 9991: sfq perturb 10
#..................................................и для каждого из ip:
tc class add dev eth0 parent 1:9999 classid 1:1 htb rate 256kbps ceil 512kbps burst 300k tc class add dev eth0 parent 1:9999 classid 1:255 htb rate 256kbps ceil 512kbps burst 300k

tc qdisc add dev eth0 parent 1:1 handle 1: sfq perturb 10
tc qdisc add dev eth0 parent 1:255 handle 255: sfq perturb 10

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src x.xx.xx.1 flowid 1:1 tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src xx.xx.xx.255 flowid 1:255


Основная часть скрипта генерится 3мя командами:
(вы это знаете, но может кому пригодится)

for i in `seq 1 255`; do echo "tc class add dev eth0 parent 1:9999 classid 1:"$i" htb rate 256kbps ceil 512kbps burst 300k" >> tc.conf; done;

for i in `seq 1 255`; do echo "tc qdisc add dev eth0 parent 1:"$i" handle "$i": sfq perturb 10" >> tc.conf; done;

for i in `seq 1 255`; do echo "tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip src xx.xx.xx."$i" flowid 1:"$i >> tc.conf; done;

Посмотреть что получилось (и статистику) tc_show.sh:
#!/bin/bash
tc -s -d qdisc show dev eth0
tc -s -d class show dev eth0
tc -s -d filter show dev eth0


--
Sincerely,
	Nicholas


Reply to: