Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2005-10-29 15:43:51

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

HTB - jak to wklecić w skrypt ?

Chcialem ja sobie rozkminic HTB no i jak narazie wymodzilem cos takiego na lan dwukompowy i rozdzielam 160 kbit/s na te dwa kompy.Uploadu narazie nie ruszam.
Czy takie coś oblecie:

Kod:

#! /bin/sh

case "$1" in
start) 
echo "START HTB"
# czyszczenie
tc qdisc del dev eth1 root handle 1:0 htb
#reszta
tc qdisc add dev eth1 root handle 1:0 htb
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 90000kbit ceil 90000kbit
tc class add dev eth1 parent 1:1 classid 1:2 htb rate 150kbit ceil 150kbit
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 8500kbit ceil 8500kbit

#Userzy
tc class a dev eth1 parent 1:2 classid 1:4 htb rate 75kbit ceil 150kbit
tc class a dev eth1 parent 1:2 classid 1:5 htb rate 75kbit ceil 150kbit
#Filtry
tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.2 flowid 1:4
tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.3 flowid 1:5

#rowny podzial
tc qdisc add dev eth1 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:5 handle 5:0 sfq perturb 10
;;
stop)
echo "STOP HTB"
# czyszczenie
tc qdisc del dev eth1 root handle 1:0 htb
;;
restart)
echo "RESTART HTB"
$0 stop
$0 start
;;
esac 

Spotkalem sie tez z takim czyszczeniem ale nie kumam co to znaczy i po oc ten manewr:)

Kod:

tc qdisc del root dev eth1 2>/dev/null

Cyz moze ktos ewentualnie poprwic mojego skrypta?
W ktorym momencie powinienem to wystartowac:przed firewallem ktory robi maskarade czy po?
Z gory dziex.


Pozdrawiam

Offline

 

#2  2005-10-29 17:09:46

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

Zrob po maskaradzie :)


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#3  2005-10-29 19:12:25

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Dzieki:)
A czy cos jest nie teges z tym skryptem czy trzebabyloby cos w nim poprawic?


Pozdrawiam

Offline

 

#4  2005-10-29 21:49:55

  Libo - Użytkownik

Libo
Użytkownik
Skąd: Żory
Zarejestrowany: 2004-10-25

Re: HTB - jak to wklecić w skrypt ?

regolki sa ok, beda dzialac tak jak zalozyles,

zmienil bym tylko zatrzymywanie htb na

tc qdisc del root dev eth1 2>/dev/null
tc qdisc del ingress dev eth1 2>/dev/null
(co usuwa wszytkiw koleji przyczepione do interfejsu)

pozdraiwm


Nie ma nie idzie... jest nie umiem.

Offline

 

#5  2005-10-29 22:32:55

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Dziex, a co oznacza samo 2>/dev/null ?


Pozdrawiam

Offline

 

#6  2005-10-29 22:40:40

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

Przekierowuje wyjscie bledu do wyjscia null czyli jak jakis blad wystapi to i tak oo tym sie nie dowiesz ;D


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#7  2005-10-29 23:10:29

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Ok niech bedzie ze zrozumialem :D
Jest kłopot przesledzilem uruchamianie calego skryptu i   juz ta linijka:

Kod:

tc qdisc del dev eth1 root handle 1:0 htb

daje efekt:

Kod:

RTNETLINK answers: Invalid argument

Jade na dystrybucyjnym jajku i wszystko do htb jest wnim (tak mi sie wydaje pozachaczane.
Jezeli zapodam komende:

Kod:

tc qdisc show

wywala cos takiego(czy tak ma być?)

Kod:

qdisc pfifo_fast 0: dev eth0 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 bands 3 priomap  1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

Pozdrawiam

Offline

 

#8  2005-10-29 23:14:39

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

Wydaje mi sie ze jesli pierwszy raz wlaczasz ten skrypt to ma prawo sie rzucic  bo usuwasz kolejke ktorej nie ma, sproboj wykonac pod rzad dwa razy ten skkrypt i czy wypisze ten blad na drugim razem ?


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#9  2005-10-29 23:23:22

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Heh:)Miales racje:

Kod:

debian:/etc/init.d# ./htb start
START HTB
RTNETLINK answers: Invalid argument
debian:/etc/init.d# tc qdisc del dev eth1 root handle 1:0 htb
debian:/etc/init.d# tc qdisc del dev eth1 root handle 1:0 htb
RTNETLINK answers: Invalid argument

Czy na starcie skryptu tez zapodać:

Kod:

tc qdisc del root dev eth1 2>/dev/null
tc qdisc del ingress dev eth1 2>/dev/null 

zamiast

Kod:

tc qdisc del dev eth1 root handle 1:0 htb 

Dodam ze po zapodaniu

Kod:

tc qdisc del dev eth1 root handle 1:0 htb 2>/dev/null

tak jak pisales nie wyrzuca bledu:)


Pozdrawiam

Offline

 

#10  2005-10-30 00:17:26

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

W sumie
ta linijke
tc qdisc del ingress dev eth1 2>/dev/null
podaj tylko podczas zatrzymywania htb
ale ja czegos takiego nie uzywam i chodzi dobrze ;)


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#11  2005-10-30 09:38:14

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Ostatecznie jeszcze pobłądziłem po necie i zostawwiam cos takiego:
na starcie i na stopie

Kod:

tc qdisc del root dev eth1 2>/dev/null

Dzieki za pomoc:)
Ale to jeszce nei konic bo zaraz zajme sie uploadem:D


Pozdrawiam

Offline

 

#12  2005-10-30 12:11:08

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

No i wymodzilem :D

Kod:

#! /bin/sh

case "$1" in
start)
echo "START HTB"
################## DOWNLOAD
# czyszczenie
tc qdisc del root dev eth1 2>/dev/null
tc qdisc del root dev eth0 2>/dev/null
iptables -t mangle -D POSTROUTING -o eth0 -j upload 2>/dev/null
iptables -t mangle -F upload 2>/dev/null
iptables -t mangle -X upload 2>/dev/null
#reszta
tc qdisc add dev eth1 root handle 1:0 htb
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 90000kbit ceil 90000kbit
tc class add dev eth1 parent 1:1 classid 1:2 htb rate 150kbit ceil 150kbit
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 8500kbit ceil 8500kbit
#Userzy

tc class a dev eth1 parent 1:2 classid 1:4 htb rate 50kbit ceil 150kbit
tc class a dev eth1 parent 1:2 classid 1:5 htb rate 50kbit ceil 150kbit
#Filtry
tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip src 192.168.1.1 flowid 1:3
tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.2 flowid 1:4
tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.3 flowid 1:5
#rowny podzial
tc qdisc add dev eth1 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev eth1 parent 1:5 handle 5:0 sfq perturb 10
################### UPLOAD

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 60kbit ceil 60kbit
#userzy
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 20kbit ceil 60kbit 
tc class add dev eth0 parent 1:1 classid 1:4 htb rate 20kbit ceil 60kbit
tc class add dev eth0 parent 1:1 classid 1:5 htb rate 20kbit ceil 60kbit
#rowny podzial
tc qdisc add dev eth0 parent 1:3 handle 3:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:4 handle 4:0 sfq perturb 10
tc qdisc add dev eth0 parent 1:5 handle 5:0 sfq perturb 10
tc filter add dev eth0 protocol ip preference 2 parent 1:0 handle 24 fw flowid 1:3
tc filter add dev eth0 protocol ip preference 2 parent 1:0 handle 25 fw flowid 1:4
tc filter add dev eth0 protocol ip preference 2 parent 1:0 handle 26 fw flowid 1:5
#iptables
iptables -t mangle -N upload
iptables -t mangle -I POSTROUTING -o eth0 -j upload
iptables -t mangle -A upload -s 192.168.1.2 -j MARK --set-mark 25
iptables -t mangle -A upload -s 192.168.1.3 -j MARK --set-mark 26
iptables -t mangle -A  upload -m mark --mark 0 -j MARK --set-mark 24
;;
stop)
echo "STOP HTB"
# czyszczenie
tc qdisc del root dev eth1 2>/dev/null
tc qdisc del root dev eth0 2>/dev/null
iptables -t mangle -D POSTROUTING -o eth0 -j upload 2>/dev/null
iptables -t mangle -F  upload 2>/dev/null
iptables -t mangle -X  upload 2>/dev/null
;;
restart)
echo "RESTART HTB"
$0 stop
$0 start
;;
esac

Jak narazie sprawdzilem czy przy zmianie uploadu z serwera w net idzie z zamierzonym transferem i o dziwo idzie z dobrym a z reszta chyba nie sprawdze bo nimam kompów :/

Dlaczego przy uploadzie trzeba czarowac z iptables a nie mozna zapodac podobnie jak w downloadzie (tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip dst 192.168.1.2 flowid 1:4) tylko zamiast dst dac src oraz odpowiednie podklasy?


Pozdrawiam

Offline

 

#13  2005-10-30 12:17:58

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

No niestety tak wyszlo ze trzeba robic markowanie inaczej nie dziala, podow jest taki: "zasada jest tu troche inna ze wzgledu ze server za nasz nie moze okreslic do kogo ma trafic pakiet to musimy sobie te pakiety oznaczac najprostsza metoda to markowanie pakietow za pomoca iptables" - cyctat pochodzi z tego artykulu :)


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#14  2005-10-30 13:09:12

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

W tym niby moim skrypcie jeste jedna regolka przy downloadzie gdzie jednak uzyte było "src" ktorym to serwe okreslił sam siebie wiec pomyslalem ze moze iinych tez da rade po przeciez pakiety te maja jakies naglowki:

Kod:

tc filter add dev eth1 protocol ip preference 2 parent 1:0 u32 match ip src 192.168.1.1 flowid 1:3

Jeszcze cos takiego:
Pakiet najpierw wędruje przez netfiltera a dopiero pozniej trafia do htb?


Pozdrawiam

Offline

 

#15  2005-10-30 13:27:47

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

Moim skromnym zdaniem najpier przechodzi przez iptables a pozniej htb sie za niego bierze


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#16  2005-10-30 14:21:56

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

No ja tez tak mysle :) bo najpierw jest znakowany przez iptables a potem a potem htb na podstawie tego ooznakowania go kolejkuje.

Kolejne pytania:
Tutaj http://www.debianusers.pl/article.php?aid=54&top10=1
jest min. taka reguła:

Kod:

tc class add dev ppp0 parent 1:0 classid 1:1 htb rate 120kbit ceil 120kbit quantum 16

Ja wyczytałem ze quantum oblicza sie ze wzoru przykladowo
rate w_kilobitach*1024/8/1500  ale nijak w mi to nie wychodzi 16 :/ jak to trzeba w koncu liczyc?

Tak samo tutaj http://dug.net.pl/texty/htb.php

Kod:

tc class add dev eth1 parent 1:1 classid 1:2 htb rate 480kbit ceil 480kbit quantum 768

Pozdrawiam

Offline

 

#17  2005-10-30 14:36:27

  maverick44 - Moderator

maverick44
Moderator
Skąd: Częstochowa
Zarejestrowany: 2005-08-30
Serwis

Re: HTB - jak to wklecić w skrypt ?

Jezli chodzi quantum liczylem sam ale jakies pierdoly mi wychodzily wpisalem tez z tego artykuly o htb i chodzi wszystko dobrze :)


Maverick
Gentoo GCC 4.1.1 KDE 3.5.6 Kernel 2.6.17
AMD Sempron 2400+ 512 MB RAM Seagate 160GB
Linux user number: #415965
http://www.gohome.org/debian_logo_06.gif http://maluch.pcz.pl/~maverick/images/logo_gentoo.png

Offline

 

#18  2005-10-30 14:48:54

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Hmm no ale Biexi podała wzór wg ktorego zle policzyła?Nigdzie w necie nie znalazlem wartosci ktora bylaby policzona z tego wzoru.


Pozdrawiam

Offline

 

#19  2005-10-30 22:41:20

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: HTB - jak to wklecić w skrypt ?

ja licze wartosci wg

Kod:

$quantum = $rate*1024/8/1500;
$quantum = int($quantum+0.5);

Offline

 

#20  2005-10-31 09:09:08

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Moge prosic o dowolny przyklad liczbowy :) ?


Pozdrawiam

Offline

 

#21  2005-10-31 17:45:18

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: HTB - jak to wklecić w skrypt ?

masz wzor

$quantum = $rate*1024/8/1500;
$quantum = int($quantum+0.5);

za rate podstawiasz minimalny gwarantowany transfer  i wychodzi Ci wartosc qunatum

Offline

 

#22  2005-10-31 19:26:12

  korbol - Członek DUG

korbol
Członek DUG
Zarejestrowany: 2005-04-29

Re: HTB - jak to wklecić w skrypt ?

Przyklad z artykułu http://dug.net.pl/texty/htb.php

Kod:

tc class add dev eth1 parent 1:1 classid 1:2 htb rate 480kbit ceil 480kbit quantum 768

480*1024/8/1500=40,96
40,96+05= 41,46

Czy tez chodzi o co innego?Bez kitu naprawde nie kumam:)


Pozdrawiam

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)