Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: asenov78 в Sep 25, 2006, 14:49



Титла: Tc shaper
Публикувано от: asenov78 в Sep 25, 2006, 14:49
Здравейте. Изчетох много материал за това как да направя шейпър който да може да ограничава на всеки потребител отделно българският и международният интернет. Не видях решение което да ми върши работа и се обръщам към Вас за помощ.

Направил съм следното нещо:

eth0 - internet
eth1 - local

file shaper
Примерен код

user1=192.168.228.2

/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1: htb default 30
/sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 3mbit burst 20k
/sbin/tc class add dev eth0 parent 1: classid 1:10 htb rate 2mbit burst 20k
/sbin/tc class add dev eth0 parent 1: classid 1:20 htb rate 512kbit burst 20k
/sbin/tc class add dev eth0 parent 1:1 classid 1:30 htb rate 256kbit burst 10k


#bgnets.conf
#Съдържа списък с BG мрежите.
for i in `cat bgnets.conf | grep -v '^#'`
do
/sbin/tc filter add dev eth0 parent 1:30 protocol ip prio 100 u32 match ip src $user1 match ip dst $i classid 1:10
/sbin/tc filter add dev eth0 parent 1:30 protocol ip prio 100 u32 match ip src $i match ip dst $user1 classid 1:10
done

echo "Done"
}


Но явно някъде бъркам.
Ако имате друг скрипт, който да ми свърши работа също ще е от полза.
Благодаря.


Титла: Tc shaper
Публикувано от: VladSun в Sep 25, 2006, 18:08
1) филтърът го закачи към 1:0 parent, а не 1:30
2) струва ми се, че искаш да правиш шейпинг и на обратния канал - не става така, можеш да ограничаваш само изходящия трафик за интерфейса.


Титла: Tc shaper
Публикувано от: asenov78 в Sep 26, 2006, 10:11
Не е ли едното download другото upload..?
А иначе го нагласих да бачка... само приоритетите трябва да си оправя но ще трябва четене. Благодаря.





Титла: Tc shaper
Публикувано от: VladSun в Sep 26, 2006, 15:33
За обратния канал трябва да направиш същото, но с eth1.
И редът:
Примерен код

/sbin/tc filter add dev eth0 parent 1:30 protocol ip prio 100 u32 match ip src $i match ip dst $user1 classid 1:10

в това, което си направил, не прави нищо.

Трябва да го махнеш от eth0 и да го сложиш за eth1.

PP: За да ти е ясно какво си направил - с този скрипт ограничаваш само upload-a на потребителите.