Ograni4avane na trafika
11 отговора
563 прегледа
Ograni4avane na trafika
Pusnal sym apache server. Vryzkata kym nego ot userite koito sa na LAN s men e okolo 300k. Iskam da ograni4a tazi vryzka na 60k primerno - kak moje da stane tova. Zna4i pusnah si shaper modula i shapecfg ama nesto ne moga da go podkaram kakto triabva. Niakoi znae li kak e nai-dobre da se napravi?
Re: Ograni4avane na trafika
shaper/shapecfg си отживяха времето. ако не знаеш или не можеш да конфигурираш апачето да шейпи трафика - ползвай htb/cbq. за повече инфо виж на lartc.org
TANSTAAFL! There AiNt Such Thing As A Free Lunch
TANSTAAFL! There AiNt Such Thing As A Free Lunch
Re: Ograni4avane na trafika
a i da znaesh che TC se pravi vinagi na outputa :)))
ne mojesh da ogranichishs inputa
Za tova maj shte ti trqbva police :)
Linuxbg.com
ne mojesh da ogranichishs inputa
Za tova maj shte ti trqbva police :)
Linuxbg.com
Re: Ograni4avane na trafika
I. Вариант с u32
# Създаване на началния дисциплина
tc qdisc add eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000
# Създаване на началния клас
tc class add eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit \
rate 100Mbit weight 10Mbit allot 1514 maxburst 10 avpkt 1000
# Създаване клас за HTTP 60K без да взима от родителския
tc class add eth0 parent 10:1 classid 10:10 cbq bandwidth 100Mbit \
rate 480Kbit weight 48Kbit allot 1514 maxburst 10 avpkt 1000 bounded
# Малко SFQ
tc qdisc add eth0 parent 10:10 sfq quantum 1514b perturb 15
# Филтър
tc filter add eth0 parent 10:0 protocol ip prio 1 u32 match ip dport 80 0xffff flowid 10:10
II. Вариант с iptables с MARK
# Маркираш пакетите за HTTP трафика
iptables -t mangle -A POSTROUTING -o eth0 --dport 80 -j MARK --set-mark 10
# Създаване на началния дисциплина
tc qdisc add eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000
# Създаване на началния клас
tc class add eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit \
rate 100Mbit weight 10Mbit allot 1514 maxburst 10 avpkt 1000
# Създаване клас за HTTP 60K без да взима от родителския
tc class add eth0 parent 10:1 classid 10:10 cbq bandwidth 100Mbit \
rate 480Kbit weight 48Kbit allot 1514 maxburst 10 avpkt 1000 bounded
# Малко SFQ
tc qdisc add eth0 parent 10:10 sfq quantum 1514b perturb 15
# Филтър
tc filter add dev eth0 protocol ip parent 10:0 prio 1 handle 10 fw classid 10:10
Където eth0 е интерфейса през който получаваш този трафик.
Ако някъде греша поправете ме.
Успех
# Създаване на началния дисциплина
tc qdisc add eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000
# Създаване на началния клас
tc class add eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit \
rate 100Mbit weight 10Mbit allot 1514 maxburst 10 avpkt 1000
# Създаване клас за HTTP 60K без да взима от родителския
tc class add eth0 parent 10:1 classid 10:10 cbq bandwidth 100Mbit \
rate 480Kbit weight 48Kbit allot 1514 maxburst 10 avpkt 1000 bounded
# Малко SFQ
tc qdisc add eth0 parent 10:10 sfq quantum 1514b perturb 15
# Филтър
tc filter add eth0 parent 10:0 protocol ip prio 1 u32 match ip dport 80 0xffff flowid 10:10
II. Вариант с iptables с MARK
# Маркираш пакетите за HTTP трафика
iptables -t mangle -A POSTROUTING -o eth0 --dport 80 -j MARK --set-mark 10
# Създаване на началния дисциплина
tc qdisc add eth0 root handle 10: cbq bandwidth 100Mbit avpkt 1000
# Създаване на началния клас
tc class add eth0 parent 10:0 classid 10:1 cbq bandwidth 100Mbit \
rate 100Mbit weight 10Mbit allot 1514 maxburst 10 avpkt 1000
# Създаване клас за HTTP 60K без да взима от родителския
tc class add eth0 parent 10:1 classid 10:10 cbq bandwidth 100Mbit \
rate 480Kbit weight 48Kbit allot 1514 maxburst 10 avpkt 1000 bounded
# Малко SFQ
tc qdisc add eth0 parent 10:10 sfq quantum 1514b perturb 15
# Филтър
tc filter add dev eth0 protocol ip parent 10:0 prio 1 handle 10 fw classid 10:10
Където eth0 е интерфейса през който получаваш този трафик.
Ако някъде греша поправете ме.
Успех
Re: Ograni4avane na trafika
друго решение е mod_throttle
# лудите, лудите... те да са живи!
# лудите, лудите... те да са живи!
Re: Ograni4avane na trafika
Ако му е трудно на някой да русува трафик контрола от командния ред.
Може да погледне това:
[линк]
Ако някой знае и други нека пише.
Може да погледне това:
[линк]
Ако някой знае и други нека пише.
Re: Ograni4avane na trafika
Blagodaria na vsi4ki, spravih se! Slojih iproute2 i sys cbq.init stana perfectno :)
Re: Ograni4avane na trafika
Tova na tozi sait [линк] kakvo tochno predstavlqva i zashto stoi na tozi sait?
Re: Ograni4avane na trafika
Tova e php aplication koito ti risuva komandite na tc
Ima i source i moje da si go svalish.
Mislia che tova che e dobavka kam netacct+mysql
Ima i source i moje da si go svalish.
Mislia che tova che e dobavka kam netacct+mysql
Re: Ograni4avane na trafika
Towa e mnogo hubawo ama biwa i config.php da slozite ili pone kakwo triabwa da ima w tozi config:)
PnP- plug & pray
[линк]
PnP- plug & pray
[линк]
Re: Ograni4avane na trafika
Drugoto koeto e dosta golqma chast ot komandite ne gi izpulnqva. Nqkakva funkciq se obajda i dava greshka. Veroqtno neshto ne e kompilirano v kernelo i koeto ne moga da se setq kakvo e tui kato vsichko v QoS e compile na moduli. Tova chudo tc dalli samo si zarejda modulite e otdelen vupros :)
Re: Ograni4avane na trafika
> Дали tc сам си зарежда модулите ???
Ми зависи какво си компилирал в кернела.
ако си дал:
[*] Loadable module support
[*] Enable loadable module support
[*] Kernel module loader
Ще ги зарежда.
А идеята на този frontend е да пише
tc командите а не да ги изпълнява real.
Между другото ето още един opensorce project на тази тема.
[линк]
Само че трябва да имате вдигнат X с KDE
Ми зависи какво си компилирал в кернела.
ако си дал:
[*] Loadable module support
[*] Enable loadable module support
[*] Kernel module loader
Ще ги зарежда.
А идеята на този frontend е да пише
tc командите а не да ги изпълнява real.
Между другото ето още един opensorce project на тази тема.
[линк]
Само че трябва да имате вдигнат X с KDE