Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

lug-bg: отново за... шейпър


  • Subject: lug-bg: отново за... шейпър
  • From: Атанас Мавров / Atanas Mavrov <bugar@xxxxxxxxxxxx>
  • Date: Sat, 26 Aug 2006 22:45:23 +0300
  • Delivered-to: lug-bg-list@xxxxxxxxxxxxxxxxxx
  • Delivered-to: lug-bg@xxxxxxxxxxxxxxxxxx

Здравейте,
знам, че тази тема е разисквана мнооого, постарах се да прочета каквото 
намерих и направих едно "произведение", но за съжаление не работи коректно. 
Та ако някой има малко време бих го помолил да ми каже къде бъркам. И така 
става въпрос за една малка мрежа  в която трябва да разпределя нет -а по 
равно на всички. Ето какво съм направил до тук:

TC=/usr/sbin/tc
#lan interface
dev_lan=eth0
#net interface 
dev_inet=eth1

# това е скоростта за теглене (доставчика както може би се сетихте е... бтк)
d_speed=2048
u_speed=512

#броя на потребителите
$users=xxx

$TC qdisc del dev $dev_lan root &>/dev/null
$TC qdisc del dev $dev_inet root &>/dev/null

#root disc
$TC qdisc add dev $dev_lan root handle 1: htb default 1000
$TC qdisc add dev $dev_inet root handle 2: htb default 1001

$TC class add dev $dev_lan parent 1: classid 1:1 htb rate ${d_speed}kbit ceil 
${d_speed}kbit

$TC class add dev $dev_inet parent 2: classid 2:1 htb rate ${u_speed}kbit ceil 
${u_speed}kbit


#general download class
$TC class add dev $dev_lan parent 1:1 classid 1:2 htb rate 
$[$d_speed/$users]kbit ceil ${d_speed}kbit

#general upload class
$TC class add dev $dev_inet parent 2:1 classid 2:2 htb rate 
$[$u_speed/$users]kbit ceil ${u_speed}kbit

$TC qdisc add dev $dev_lan parent 1:2  sfq perturb 10
$TC qdisc add dev $dev_inet parent 2:2  sfq perturb 10

От тук нататък съм сложил филтрите които изглеждат по един и същи начин:

$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
...
...
$TC class add dev $dev_lan parent 1: classid 1:1000 htb rate 
$[$d_speed/$users]Kbps
$TC class add dev $dev_inet parent 2: classid 2:1001 htb rate 
$[$u_speed/$users]Kbps

Ето как съм направил маркирането на пакетите (ще покажа само за един 
потребител, защото нещата са идентични):

За изходящия трафик:
iptables -t mangle -A FORWARD -s 1.2.3.4 -j MARK --set-mark 1


За теглене:
iptables -t mangle -A POSTROUTING -s ! 1.2.3.4 -d 1.2.3.4 -j MARK --set-mark 
102

Ами това е... приемам всякакви съвети и предложения :-)
Благодаря!




 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.