Здравейте,
по този въпрос има мнооого изписано и след дълго четене "сътворих" 
едно"творение" но не съм много сигурен дали работи правилно. Та искам да 
помоля някой ако може да отдели 5 минути и да си каже мнението :-)
Та става въпрос за ADSL -ла (на една добре известна компания :-)) и няколко 
човека в мрежа. Идеята предполагам е ясна - да се раздели справедливо трафика 
между всички. Ето това направих до момента:
Първо отбелязваме изходящия трафик:
iptables -t mangle -A FORWARD -s x.x.x.x -j MARK --set-mark 1
iptables -t mangle -A FORWARD -s y.y.y.y -j MARK --set-mark 2
...
След това входящия:
iptables -t mangle -A POSTROUTING -s ! x.x.x.x -d x.x.x.x -j MARK --set-mark 
101
iptables -t mangle -A POSTROUTING -s ! y.y.yy -d y.y.y.y -j MARK --set-mark 
102

Ето и самия шейпър:

#path to tc
TC=/usr/sbin/tc

#interface for users
dev_lan=eth0
dev_inet=eth1

#download speed
d_speed=512kbit

#upload speed
u_speed=128kbit

$TC qdisc del dev $dev_lan root &>/dev/null
$TC qdisc del dev $dev_inet root &>/dev/null
$TC qdisc add dev $dev_lan root handle 1: htb #default 1000
$TC qdisc add dev $dev_inet root handle 2: htb #default 1001

#general class
$TC class add dev $dev_lan parent 1: classid 1:1 htb rate $d_speed ceil 
$d_speed
$TC class add dev $dev_inet parent 2: classid 2:1 htb rate $u_speed ceil 
$u_speed

#general download class
$TC class add dev $dev_lan parent 1:1 classid 1:2 htb rate 73Kbit ceil 
$d_speed

#general upload class
$TC class add dev $dev_inet parent 2:1 classid 2:2 htb rate 18Kbit ceil 
$u_speed

И самите дисциплини:
$TC filter add dev $dev_lan parent 1: protocol ip prio 1 handle 101 fw classid 
1:2
$TC filter add dev $dev_inet parent 2: protocol ip prio 1 handle 1 fw classid 
2:2
....

Не е нищо особено но имам някои съмнения върху правилната му работа.

Благодаря!

Attachment: pgpa2B0T2tqVV.pgp
Description: PGP signature

Reply via email to