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

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: Филип Бонев в Apr 23, 2004, 11:30



Титла: Разпределение на трафика с HTB
Публикувано от: Филип Бонев в Apr 23, 2004, 11:30
Здравеите, опитвам се да направа разпределение на трафика. Имам машина която прави NAT  със два интерфейса eth0 - локална мрежа и eth1 - интернет. Написал съм един скрипт но незнам къде е проблема. Ето го и него.

----------------------------------------------------------

#!/bin/sh
DEV=eth0
RATEDN=512
RATEUP=128

if [ "$1" = "status" ]
then
        echo "[qdisc]"
        tc -s qdisc show dev $DEV
        echo "[class]"
        tc -s class show dev $DEV
        echo "[filter]"
        tc -s filter show dev $DEV
        exit
fi
                                       

tc qdisc del dev $DEV root 2>/dev/null 1>/dev/null
tc qdisc del dev $DEV ingress 2>/dev/null 1>/dev/null

iptables -t mangle -X PREROUTING 2>/dev/null 1>/dev/null

if [ "$1" == "stop" ]; then
   exit
fi

tc qdisc add dev $DEV root handle 1: htb default 24

tc class add dev $DEV parent 1: classid 1:1 htb rate 9Mbit

tc class add dev $DEV parent 1: classid 1:20 htb rate $[$RATEDN/4]kbit ceil ${RATEDN}kbit prio 0
tc class add dev $DEV parent 1: classid 1:21 htb rate $[$RATEDN/4]kbit ceil ${RATEDN}kbit prio 0
tc class add dev $DEV parent 1: classid 1:22 htb rate $[$RATEDN/4]kbit ceil ${RATEDN}kbit prio 0
tc class add dev $DEV parent 1: classid 1:23 htb rate $[$RATEDN/4]kbit ceil ${RATEDN}kbit prio 0
tc class add dev $DEV parent 1: classid 1:24 htb rate $[$RATEDN/40]kbit ceil ${RATEDN}kbit prio 1
tc class add dev $DEV parent 1: classid 1:25 htb rate 8Mbit ceil 9Mbit prio 0

tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10
tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10
tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10
tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10
tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10

tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 1 fw classid 1:20
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 2 fw classid 1:21
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 3 fw classid 1:22
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 4 fw classid 1:23
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 5 fw classid 1:24
tc filter add dev $DEV parent 1:0 protocol ip prio 1 handle 6 fw classid 1:25

iptables -t mangle -A PREROUTING -s 192.168.0.3 -d ! 192.168.0.0/24 -j MARK --set-mark 0x1
iptables -t mangle -A PREROUTING -s 192.168.0.5 -d ! 192.168.0.0/24 -j MARK --set-mark 0x2
iptables -t mangle -A PREROUTING -s 192.168.0.6 -d ! 192.168.0.0/24 -j MARK --set-mark 0x3
iptables -t mangle -A PREROUTING -s 192.168.0.9 -d ! 192.168.0.0/24 -j MARK --set-mark 0x4
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 192.168.0.0/24 -j MARK --set-mark 0x6

----------------------------------------------------------

Ще съм много благодарен, някои да помогне. :)


Титла: Разпределение на трафика с HTB
Публикувано от: Uvigii в Apr 23, 2004, 14:36
Цитат
iptables -t mangle -A PREROUTING -s 192.168.0.3 -d ! 192.168.0.0/24 -j MARK --set-mark 0x1

>>
Примерен код
iptables -t mangle -A POSTROUTING -s !192.168.0.0/24 -d  192.168.0.3 -j MARK --set-mark 0x1


Титла: Разпределение на трафика с HTB
Публикувано от: Филип Бонев в Apr 23, 2004, 16:57
10x, shte probvam predpolagam che shte stane :)


Титла: Разпределение на трафика с HTB
Публикувано от: Филип Бонев в Apr 25, 2004, 12:11
Здравейте пак.

Направих го с POSTROUTING и тръгна но проблема  е че всички пакети минават през class 21, някакви предолжения
???


Титла: Разпределение на трафика с HTB
Публикувано от: Филип Бонев в Apr 25, 2004, 12:14
забравих и реда
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 192.168.0.0/24 -j MARK --set-mark 0x6

съм го заменил с:
iptables -t mangle -A POSTROUTING -p tcp --sport 22 -d 192.168.0.0/24 -j MARK --set-mark 0x6


Титла: Разпределение на трафика с HTB
Публикувано от: Uvigii в Apr 27, 2004, 13:25
Ами освен това да е ?
prio 0
>> prio 10


Титла: Разпределение на трафика с HTB
Публикувано от: в Apr 27, 2004, 14:58
като махнах POSTTOURING-а и ги направих с u32 match ip dst се  оправи проблема, че минават само през един class но ми се струва, че това нещо не разпределя както трябва защото като съм само аз в мрежата не мога да достигна максималната скорост от 64КБ а малко над rate който съм задал.

Ако имате някакви предложения, казвайте :)


Титла: Разпределение на трафика с HTB
Публикувано от: в Apr 27, 2004, 14:58
като махнах POSTTOURING-а и ги направих с u32 match ip dst се  оправи проблема, че минават само през един class но ми се струва, че това нещо не разпределя както трябва защото като съм само аз в мрежата не мога да достигна максималната скорост от 64КБ а малко над rate който съм задал.

Ако имате някакви предложения, казвайте :)


Титла: Разпределение на трафика с HTB
Публикувано от: OMA в May 26, 2004, 23:25
Ami i az polzwam htb i pravih hilqdi testove koito pokazvat samo edno! Ne se razpredelq pravilno trafika. Ne raboti kakto trqbva tova htb. Hora s po maluk prioritet vzimat svobodnata skorost a drugi nemoga da dostignat skorosta 'rate' na klasa si!!?!?? Moje nqkuv patch da mu trqbva?


Титла: Разпределение на трафика с HTB
Публикувано от: Uvigii в May 29, 2004, 00:52
При мен си бачка много читаво. ?!?


Титла: Разпределение на трафика с HTB
Публикувано от: Филип Бонев в May 29, 2004, 14:59
Ами хора аз успях да си го направя и в момента работи перфектно може да пробвате htb_init някъде по freshmeat.net го има със сигурност в момента разпределя тряфика по равно и  ако няма някои от потребителите дава неговия дял на на другите