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  2006-08-21 15:05:07

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

htb nie działa do końca jak powinno

W moim przypadku htb ogranicza maksymalny download na komputery w lanie, ale w momencie, gdy jeden z nich ściąga większy plik, reszta nie ma problemy z dostępem do internetu, a konkretnie nie ma dostępu.

Ale po kolei:
sieć wygląda tak

INTERNET -----(eth0) SERWER (eth1- 192.168.1.1)----SWITCH---3 kompy o adresach ip 192.168.1.2, 192.168.1.3, 192.168.1.4

mój skrypt htb wygląda tak:

Kod:

# Tworzymy główną kolejkę 1:0 na interfejsie eth0
tc qdisc add dev eth1 root handle 1:0 htb

# W kolejce tej tworzymy główną klasę 1:1 o przepustowości 240kbit:
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 240kbit ceil 240kbit

# Teraz tworzymy właściwe podklasy (jedna podklasa na jeden komputer) należące
# do podklasy 1:1. Określają one przepustowości między
# internetem, a poszczególnymi użytkownikami sieci.
tc class add dev eth1 parent 1:1 classid 1:2 htb rate 80kbit ceil 240kbit prio 3
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 80kbit ceil 240kbit prio 2
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 80kbit ceil 240kbit prio 1

# Przydzielamy ruch dla poszczególnych kanałów:
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip 
   dst 192.168.1.2 flowid 1:2 
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip 
   dst 192.168.1.3 flowid 1:3 
tc filter add dev eth1 protocol ip parent 1:0 u32 match ip 
   dst 192.168.1.4 flowid 1:4

# Sprawiedliwy algorytm kolejkowania (zamiast fifo):
#
# Domyślnie kolejka będzie działała na zasadzie fifo -- czyli pakiet, który
# ostatni trafi do kolejki, ostatni z niej też wyjdzie. W przypadku porządnego
# zapchania może to uniemożliwić korzystanie z czegokolwiek. SFQ przepuszcza
# pakiety "sprawiedliwie", czyli losowo. Uniemożliwi to zapchanie telnetu Kazą
# i innych interaktywnych usług.
tc qdisc add dev eth1 parent 1:2 handle 2:0 sfq perturb 10
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

czyli jest tylko na dane pobierane z internetu. jeszcze tylko dodam, że mam łącze 256/128kbit

zanim wprowadziłem kolejkowanie htb wszystko było w porządku, tzn. wszyscy wykorzystywali maksymalnie łącze i jeżeli ktoś sciągał plik to zabierał całe pasmo, więc tak nie mogło być :) po zastosowaniu powyższego skryptu plik ściągał się z zadaną maksymalną prędkością, ale inni nadal nie mieli internetu.
Dodatkowo zauważyłem, że czas pingu wzrósł dziesięciokrotnie niż był początkowo, jak tylko jedna osoba korzystała z netu.
Zastanawiam się czy może to być wina szybkości serwera, gdyż jest to komputer z procesorem 100MHz i 64MB RAM.

Czy ktoś wie jak rozwiązać taki problem?

Offline

 

#2  2006-08-21 23:06:32

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

Re: htb nie działa do końca jak powinno

zobacz moze moj skryptr pomoze Ci :) ew popraw bledy i zmien predkosci lacza ;)

Kod:

#!/bin/sh

tc="/sbin/tc"

ipt="/sbin/iptables"



#==================== Download ============================







$tc qdisc del root dev eth0

$tc qdisc del root dev eth1



#$ipt -t mangle -F MYSHAPER-OUT

#$ipt -t mangle -X MYSHAPER-OUT



$tc qdisc add dev eth0 root handle 1:0 htb



$tc class add dev eth0 parent 1:0 classid 1:1 htb rate 750kbit ceil 750kbit



$tc class add dev eth0 parent 1:1 classid 1:2 htb rate 400kbit ceil 750kbit

$tc class add dev eth0 parent 1:1 classid 1:3 htb rate 175kbit ceil 750kbit

$tc class add dev eth0 parent 1:1 classid 1:4 htb rate 175kbit ceil 750kbit





$tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.1.2 flowid 1:2

$tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.1.9 flowid 1:3

$tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.1.8 flowid 1:4



$tc qdisc add dev eth0 parent 1:2 handle 2:0 sfq perturb 10

$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



#======= UPLOAD ==============



#$ipt -t mangle -A MYSHAPER-OUT -m mark --mark 0 -j MARK --set-mark 20

#$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.2 -j MARK --set-mark 21

#$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.3 -j MARK --set-mark 22

#$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.4 -j MARK --set-mark 23

#$ipt -t mangle -A MYSHAPER-OUT -s 192.168.1.10 -j MARK --set-mark 24







$tc qdisc add dev eth1 root handle 2:0 htb



$tc class add dev eth1 parent 2:0 classid 2:2 htb rate 750kbit ceil 750kbit quantum 16



$tc class add dev eth1 parent 2:2 classid 2:3 htb rate 400kbit ceil 400kbit quantum 4

$tc class add dev eth1 parent 2:2 classid 2:4 htb rate 175bit ceil 175kbit quantum 4

$tc class add dev eth1 parent 2:2 classid 2:5 htb rate 175kbit ceil 175kbit quantum 4



$tc qdisc add dev eth1 parent 2:3 handle 3:0 sfq perturb 10

$tc qdisc add dev eth1 parent 2:4 handle 4:0 sfq perturb 10

$tc qdisc add dev eth1 parent 2:5 handle 5:0 sfq perturb 10



$tc filter add dev eth1 protocol ip preference 1 parent 2:0 handle 23 fw flowid 2:3

$tc filter add dev eth1 protocol ip preference 1 parent 2:0 handle 21 fw flowid 2:4

$tc filter add dev eth1 protocol ip preference 1 parent 2:0 handle 22 fw flowid 2:5



$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.9 -j MARK --set-mark 21

$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.8 -j MARK --set-mark 22



#$ipt -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.2 -j MARK --set-mark 23



$ipt -t mangle -A MYSHAPER-OUT -s 192.168.1.2 -j MARK --set-mark 23

$ipt -t mangle -A MYSHAPER-OUT -m mark --mark 0 -j MARK --set-mark 20

manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

#3  2006-08-22 08:25:59

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

Re: htb nie działa do końca jak powinno

krolxxl: rzecz w tym, że tym nie znaczysz uploadu. HTB, jak to już tutaj gdzieś napisano kiedyś, musi mieć pakiety znaczone dodatkowo przez to
iptables -t mangle -A MYSHAPER-OU...........

Offline

 

#4  2006-08-22 12:14:24

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

stepien86: wielkie dzieki za skrypt, zaraz go spróbuję przerobić na własny użytek.
tylko mała uwaga, tak do końca nie jestem pewny jak postąpić z takim  skryptem, tzn. wydaje mi się, że powinienem zrobić tak:
- umieścić go w katalogu /etc/init.d
- nadać atrybut do uruchamiania
- i zrestartować system
czy jestem w błędzie?

Offline

 

#5  2006-08-22 12:17:53

  maverick44 - Moderator

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

Re: htb nie działa do końca jak powinno

Musisz jeszcze dodac go do systemu aby razem z nim wstawal takim poleceniem:

Kod:

update-rc.d nazwa_Twojego_skryptu_w_initd defaults 20

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

 

#6  2006-08-22 19:00:05

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

Niestety, jak do tej pory nie uzyskałem zamierzonego celu.
Poprawiłem skrypt, który teraz wygląda tak:

Kod:

#!/bin/sh 

echo "shaper start"
tc qdisc del root dev eth1 
tc qdisc del root dev eth0 
iptables -t mangle -D POSTROUTING -o eth0 -j MYSHAPER-OUT
iptables -t mangle -F MYSHAPER-OUT 
iptables -t mangle -X MYSHAPER-OUT 

########## DOWNLOAD
echo "download"

tc qdisc add dev eth1 root handle 1:0 htb

tc class add dev eth1 parent 1:0 classid 1:1 htb rate 240kbit ceil 240kbit 
     quantum 16

tc class add dev eth1 parent 1:1 classid 1:2 htb rate 60kbit ceil 240kbit 
   quantum 4 prio 3
tc class add dev eth1 parent 1:1 classid 1:3 htb rate 60kbit ceil 240kbit 
    quantum 4 prio 2
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 120kbit ceil 240kbit 
    quantum 4 prio 1

tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip 
   dst 192.168.1.2 flowid 1:2
tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip  
   dst 192.168.1.3 flowid 1:3
tc filter add dev eth1 protocol ip preference 1 parent 1:0 u32 match ip 
   dst 192.168.1.4 flowid 1:4

tc qdisc add dev eth1 parent 1:2 handle 2:0 sfq perturb 10
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

########## UPLOAD
echo "upload"

tc qdisc add dev eth0 root handle 1:0 htb

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

tc class add dev eth0 parent 1:1 classid 1:2 htb rate 24kbit ceil 64kbit 
   quantum 4
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 48kbit ceil 120kbit 
   quantum 4
tc class add dev eth0 parent 1:1 classid 1:4 htb rate 48kbit ceil 120kbit 
   quantum 4

tc qdisc add dev eth0 parent 1:2 handle 2:0 sfq perturb 10
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 filter add dev eth0 protocol ip preference 1 parent 1:0 handle 20 
   fw flowid 1:2
tc filter add dev eth0 protocol ip preference 1 parent 1:0 handle 21 
   fw flowid 1:3
tc filter add dev eth0 protocol ip preference 1 parent 1:0 handle 22 
   fw flowid 1:4

iptables -t mangle -N MYSHAPER-OUT
iptables -t mangle -I POSTROUTING -o eth0 -j MYSHAPER-OUT
iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.2 -j MARK 
   --set-mark 20
iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.3 -j MARK 
   --set-mark 21
iptables -t mangle -A MYSHAPER-OUT -p tcp -s 192.168.1.4 -j MARK 
   --set-mark 22

echo "shaper uruchomiony"

podczas uruchamiania systemu dostaję następujący komunikat:

Kod:

shaper start
RTNETLINK anserws: No such file or directory
RTNETLINK anserws: No such file or directory
iptables v1.2.11: Couldn't load target 'MYSHAPER-OUT':/lib/iptables/libipt_MYSHAPER-OUT.so: No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
iptables: No chain/target/match by that name
iptables: Table dose not exist (do you need to insmod?)
download
HTB init, kernel part version 3.17
u32 classifer
   OLD policer on 
upload
HTB init, kernel part version 3.17
shaper uruchomiony

natomiast po komendzie

Kod:

 tc qdisc show

taki:

Kod:

qdisc htb 1: dev eth0 r2q 10 default 0 direct_packets_stat 157
qdisc sfq 2: dev eth0 limit 128p quantum 1514b perturb 10sec
qdisc sfq 3: dev eth0 limit 128p quantum 1514b perturb 10sec
qdisc sfq 4: dev eth0 limit 128p quantum 1514b perturb 10sec
qdisc htb 1: dev eth1 r2q 10 default 0 direct_packets_stat 157
qdisc sfq 2: dev eth1 limit 128p quantum 1514b perturb 10sec
qdisc sfq 3: dev eth1 limit 128p quantum 1514b perturb 10sec
qdisc sfq 4: dev eth1 limit 128p quantum 1514b perturb 10sec

Wszystko sie sypie, gdy na jednym z kompów chodzi klient p2p. Wtedy na żadnym innym nie ma internetu. Znalazłem gdzieś wzmiankę, że to p2p blokuje łącza przez duże ilości nawiązywanych połączeń, ale czy nie ma na to jakiegoś lekarstwa?

Offline

 

#7  2006-08-22 21:14:48

  stepien86 - Członek DUG

stepien86
Członek DUG
Skąd: Łódź
Zarejestrowany: 2006-03-26

Re: htb nie działa do końca jak powinno

nad  download zhashuj linie
iptables -t mangle -F MYSHAPER-OUT

iptables -t mangle -X MYSHAPER-OUT
i zobacz wtedy ;)


manual ponad wszysytko....konsola ponad manual

Debian GNU Linux

Offline

 

#8  2006-08-22 22:09:16

  BaB - Członek DUG

BaB
Członek DUG
Skąd: Krapkowice
Zarejestrowany: 2004-09-09

Re: htb nie działa do końca jak powinno

krolxxl spróbuj poprostu uruchomić skrypt dwa razy pod rząd i zobacz czy błędy po drugim razie wystąpią. Za piewrszym razem może się sypać bo na początku usuwasz kolejki, które dopiero później tworzysz, i usuwasz łańcuch który również dopiero później tworzysz. Czyli usuwasz coś czego nie ma przy pierszym uruchomieniu.


Zarejestrowany użytkownik Linuksa #361563

Offline

 

#9  2006-08-22 23:27:16

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

mam dobrą i złą wiadomość dla wszystkich zainteresowanych :)
dobra jest taka, że udało mi się rozwiązać problem z wysycaniem łącza wstawiając w moim skrypcie zamiast tcp to all gdyż większość pakietów było przesyłanych protokołem udp (wystarczyła chwila zabawy z iptraf) i teraz zmieniona część skryptu wygląda tak:

Kod:

iptables -t mangle -N MYSHAPER-OUT 
iptables -t mangle -I POSTROUTING -o eth0 -j MYSHAPER-OUT 
iptables -t mangle -A MYSHAPER-OUT -p all -s 192.168.1.2 -j MARK  
   --set-mark 20 
iptables -t mangle -A MYSHAPER-OUT -p all -s 192.168.1.3 -j MARK  
   --set-mark 21 
iptables -t mangle -A MYSHAPER-OUT -p all -s 192.168.1.4 -j MARK  
   --set-mark 22 

A teraz czas na złą wiadomość: maksymalny download jest taki jak podana wartość rate i nic nie daje wypożyczać nawet jak tylko jeden komp jest podłączony. Próbowałem już odpalić skrypt bez prio i bez quantum w downloadzie ale to nie pomogło. Nie mam pojęcia dlaczego tak się dzieję

Offline

 

#10  2006-08-23 14:27:55

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: htb nie działa do końca jak powinno

Polecam skorzystanie z wirtualnych interfejsów imq. Można za ich pomocą (po wcześniejszym przekierowaniu na nie ruchu) kontrolowac upload tak samo jak download czyli bez żadnego markowania pakietów.

Offline

 

#11  2006-08-23 17:38:52

  MG_Peter - Członek DUG

MG_Peter
Członek DUG
Skąd: Gliwice
Zarejestrowany: 2005-07-29

Re: htb nie działa do końca jak powinno

a jak to zrobić, albo chociaż gdzie można by o tym poczytać ?

Offline

 

#12  2006-08-23 19:06:41

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: htb nie działa do końca jak powinno

a jak to zrobić, albo chociaż gdzie można by o tym poczytać ?

http://www.linuximq.net/

Offline

 

#13  2006-08-23 22:49:44

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

Ja generalnie nie uważam, że nie ma innych rozwiązań, ale dlaczego to tylko u mnie nie chodzi to ja już muszę się dowiedzieć :)

Mam takie pytanko:
Czy to, że mój adres jest przypisywany dynamicznie ma jakieś znaczenie na kolejkowanie??


P.S. MG_Peter: fajny program do ogniska, tyle że ja bym dał piwko-- tak na logikę :)

Offline

 

#14  2006-08-24 00:59:12

  kuchar - Użytkownik

kuchar
Użytkownik
Skąd: Warszawa
Zarejestrowany: 2005-11-16
Serwis

Re: htb nie działa do końca jak powinno

Bardzo polecam IMQ i HFSC, ten duet bardzo ładnie ze sobą współpracuje i daje świetne rezultaty. Działa zdecydowanie szybciej (wcześniej widać ze coś jest przycinane) i dokładniej niż samo HTB, a nawet HTB z IMQ. Przynajmniej dla mnie HFSC rulez :)


Linux Registered User # 406343

Routing protocols enable routers to route routed protocols :)

Offline

 

#15  2006-08-24 01:55:31

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: htb nie działa do końca jak powinno

Bardzo polecam IMQ i HFSC, ten duet bardzo ładnie ze sobą współpracuje i daje świetne rezultaty. Działa zdecydowanie szybciej (wcześniej widać ze coś jest przycinane) i dokładniej niż samo HTB, a nawet HTB z IMQ. Przynajmniej dla mnie HFSC rulez :)

to jeszcze pochwal się skryptami HFSC...

Offline

 

#16  2006-08-24 08:58:06

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

Wszystko spoko, jeszcze raz powtarzam, że HTB nie jest wyłącznością, ale ja na prawdę chcę się dowiedzieć o co chodzi.

Chciałbym sie podzielić kolejnymi wynikami "testów". Otóż w tym momncie wszystko działa po ... odcięciu na chwilę zasilacza do modemu ADSL. Wczoraj w nocy tak zrobiłem i wszystko działało jak należy. Nie wpadając jednak w wielki zachwyt poszedłem spać, wstaję rano odpalam swojego kompa i ..... nic :( Jeden z kompów był całą noc wlączony z uruchomionym p2p. Ponownie więc odlączyłem ADSL od prądu i podłączyłem. No i wszystko znowy dział :) Ale co tu jest nie tak. Przecież nie będę co pare godzin wyłączał i włączał modemu ADSL. Jak widać skrypt może być poprawny i nawet zastosowanie IMQ czy HFSC może nie wiele zmienić, jeżeli problem jest z .... no właśnie z czym?

Offline

 

#17  2006-08-24 11:05:09

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: htb nie działa do końca jak powinno

Wszystko spoko, jeszcze raz powtarzam, że HTB nie jest wyłącznością, ale ja na prawdę chcę się dowiedzieć o co chodzi.

Chciałbym sie podzielić kolejnymi wynikami "testów". Otóż w tym momncie wszystko działa po ... odcięciu na chwilę zasilacza do modemu ADSL. Wczoraj w nocy tak zrobiłem i wszystko działało jak należy. Nie wpadając jednak w wielki zachwyt poszedłem spać, wstaję rano odpalam swojego kompa i ..... nic :( Jeden z kompów był całą noc wlączony z uruchomionym p2p. Ponownie więc odlączyłem ADSL od prądu i podłączyłem. No i wszystko znowy dział :) Ale co tu jest nie tak. Przecież nie będę co pare godzin wyłączał i włączał modemu ADSL. Jak widać skrypt może być poprawny i nawet zastosowanie IMQ czy HFSC może nie wiele zmienić, jeżeli problem jest z .... no właśnie z czym?

Z tego co rozumie to modem się wiesza tak? Może jest uszkodzony? :)
Wywal z tego skryptu te prio bo to jest ci nie potrzebne. Zrób to tez po ludzku na IMQ. Zwróć uwagę też czy zbyt duża ilość połaczeń nie powoduje zawieszenia internetu/modemu (może je limitować patchem na iptables connlimit z pakietu patch-o-matic).

Offline

 

#18  2006-08-24 13:44:01

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

Jednak to nie modem, gdyż po przerwaniu połączenia i ponownym połączeniu serwera z modemem wszystko działa jak powinno. (znowu zostawiłem jednego kompa na pare godzin z uruchomionym p2p, a jak następnie podłączyłem drugiego to internet nie działał)

Co do dużej liczby połączeń to sam się nad tym wcześniej zastanawiałem i uwżam to za jedeną z głównych możliwości występowania problemu, dlatego opcja z limitowaniem połączeń mnie zainteresowała, ale jaki powinien to być rząd liczby połączeń, aby nikt nie narzekał?

A co do IMQ to jak narazie moja wiedza i brak czasu nie wystarcza na jego zastosowanie :(

Offline

 

#19  2006-08-24 15:52:56

  Ulter - Użytkownik

Ulter
Użytkownik
Zarejestrowany: 2006-03-15

Re: htb nie działa do końca jak powinno

Jednak to nie modem, gdyż po przerwaniu połączenia i ponownym połączeniu serwera z modemem wszystko działa jak powinno. (znowu zostawiłem jednego kompa na pare godzin z uruchomionym p2p, a jak następnie podłączyłem drugiego to internet nie działał)

Co do dużej liczby połączeń to sam się nad tym wcześniej zastanawiałem i uwżam to za jedeną z głównych możliwości występowania problemu, dlatego opcja z limitowaniem połączeń mnie zainteresowała, ale jaki powinien to być rząd liczby połączeń, aby nikt nie narzekał?

A co do IMQ to jak narazie moja wiedza i brak czasu nie wystarcza na jego zastosowanie :(

50-100 powinno spokojnie starczyć.

Offline

 

#20  2006-08-24 16:56:14

  kuchar - Użytkownik

kuchar
Użytkownik
Skąd: Warszawa
Zarejestrowany: 2005-11-16
Serwis

Re: htb nie działa do końca jak powinno

to jeszcze pochwal się skryptami HFSC...

Proszę bardzo:

Kod:

#!/bin/bash
DOWNLOAD=230
UPLOAD=115
DOWNLOAD_CRIT=70
DOWNLOAD_CRIT_M1=120
UPLOAD_CRIT=40
UPLOAD_CRIT_M1=80
DOWNLOAD_PRIO=90
UPLOAD_PRIO=50
DOWNLOAD_OTHER=70
UPLOAD_OTHER=25

ip link set imq0 up
ip link set imq1 up

tc qdisc del root dev imq1 2> /dev/null
tc qdisc del root dev imq0 2> /dev/null

#####Tworzymy korzenie kolejek
########DOWNLOAD
    tc qdisc add dev imq0 root handle 1:0 hfsc default 30
    tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls m2 ${DOWNLOAD}kbit ul m2 ${DOWNLOAD}kbit

echo "download - ruch krytyczny"
    tc class add dev imq0 parent 1:1 classid 1:10 hfsc rt m1 ${DOWNLOAD_CRIT_M1}kbit d 1s m2 ${DOWNLOAD_CRIT}kbit ls m2 ${DOWNLOAD_CRIT}kbit ul m2 ${DOWNLOAD}kbit
    tc qdisc add dev imq0 parent 1:10 sfq perturb 5
    tc filter add dev imq0 parent 1:0 protocol ip prio 2 handle 0x10 fw flowid 1:10
echo "download prio"
    #ruch priorytetowy
    tc class add dev imq0 parent 1:1 classid 1:20 hfsc ls m2 ${DOWNLOAD_PRIO}kbit ul m2 ${DOWNLOAD}kbit
    tc qdisc add dev imq0 parent 1:20 sfq perturb 5
    tc filter add dev imq0 parent 1:0 protocol ip prio 3 handle 0x20 fw flowid 1:20
    
echo "download - normalny"
    #ruch normalny    
    tc class add dev imq0 parent 1:1 classid 1:30 hfsc ls m2 ${DOWNLOAD_OTHER}kbit ul m2 ${DOWNLOAD}kbit
    tc qdisc add dev imq0 parent 1:30 sfq perturb 5
    tc filter add dev imq0 parent 1:0 protocol ip prio 5 handle 0x30 fw flowid 1:30
echo "upload"

########UPLOAD
    tc qdisc add dev imq1 root handle 1:0 hfsc default 30
    tc class add dev imq1 parent 1:0 classid 1:1 hfsc ls m2 ${UPLOAD}kbit ul m2 ${UPLOAD}kbit

    #ruch krytyczny
    tc class add dev imq1 parent 1:1 classid 1:10 hfsc rt m1 ${UPLOAD_CRIT_M1}kbit d 1s m2 ${UPLOAD_CRIT}kbit ls m2 ${UPLOAD_CRIT}kbit ul m2 ${UPLOAD}kbit
    tc qdisc add dev imq1 parent 1:10 sfq perturb 5
    tc filter add dev imq1 parent 1:0 protocol ip prio 2 handle 0x10 fw flowid 1:10

    #ruch priorytetowy
    tc class add dev imq1 parent 1:1 classid 1:20 hfsc ls m2 ${UPLOAD_PRIO}kbit ul m2 ${UPLOAD}kbit
    tc qdisc add dev imq1 parent 1:20 sfq perturb 5
    tc filter add dev imq1 parent 1:0 protocol ip prio 3 handle 0x20 fw flowid 1:20

    #ruch normalny    
    tc class add dev imq1 parent 1:1 classid 1:30 hfsc ls m2 ${UPLOAD_OTHER}kbit ul m2 ${UPLOAD}kbit
    tc qdisc add dev imq1 parent 1:30 sfq perturb 5
    tc filter add dev imq1 parent 1:0 protocol ip prio 5 handle 0x30 fw flowid 1:30

do tego markowanie:

Kod:

    #KRYTYCZNY
    iptables -t mangle -A PREROUTING -p icmp -j MARK --set-mark 0x10
    iptables -t mangle -A PREROUTING -p icmp -j RETURN
    iptables -t mangle -A PREROUTING -p udp --sport 53 -j MARK --set-mark 0x10
    iptables -t mangle -A PREROUTING -p udp --sport 53 -j RETURN
    iptables -t mangle -A PREROUTING -p tcp --sport 22 -j MARK --set-mark 0x10
    iptables -t mangle -A PREROUTING -p tcp --sport 22 -j RETURN

    iptables -t mangle -A POSTROUTING -p icmp -j MARK --set-mark 0x10
    iptables -t mangle -A POSTROUTING -p icmp -j RETURN
    iptables -t mangle -A POSTROUTING -p udp --dport 53 -j MARK --set-mark 0x10
    iptables -t mangle -A POSTROUTING -p udp --dport 53 -j RETURN
    iptables -t mangle -A POSTROUTING -p tcp --dport 22 -j MARK --set-mark 0x10
    iptables -t mangle -A POSTROUTING -p tcp --dport 22 -j RETURN

    #P2P
    iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
        iptables -t mangle -A PREROUTING -m ipp2p --ipp2p -j MARK --set-mark 0x30
    iptables -t mangle -A PREROUTING -m mark --mark 0x30 -j CONNMARK --save-mark
    iptables -t mangle -A POSTROUTING -m mark --mark 0x30 -j RETURN

   #PRIORYTETOWY    
    iptables -t mangle -A PREROUTING -p tcp -m multiport --sports 80,110,443,8080 -j MARK --set-mark 0x20
    iptables -t mangle -A PREROUTING -p tcp -m multiport --sports 80,110,443,8080 -j RETURN
    iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 80,25,443,8080 -j MARK --set-mark 0x20
    iptables -t mangle -A POSTROUTING -p tcp -m multiport --dports 80,25,443,8080 -j RETURN

 #IMQ    
    echo "dajemy IMQ"
    
    iptables -t mangle -A POSTROUTING -o $WAN_ETH -j IMQ --todev 1
    iptables -t mangle -A PREROUTING -i $WAN_ETH -j IMQ --todev 0

nie wiem czy to jest zrobione cudownie, ale na moim wspanialym laczu 256/128 dziala to niezle, a napewno lepiej niz htb


Linux Registered User # 406343

Routing protocols enable routers to route routed protocols :)

Offline

 

#21  2006-08-24 18:16:00

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

Ulter: aż strach się pochwalić, że na p2p miałem ustawione na 500 połączeń, zobacze jak to teraz będzie działać po zmniejszeniu na 40, bo na razie nie mam czasu na kompilacje jajka :(

kuchar: widzę żę skrypt w sam raz na moje łącze, pewnie i provider ten sam :)

Offline

 

#22  2006-08-25 02:30:13

  kuchar - Użytkownik

kuchar
Użytkownik
Skąd: Warszawa
Zarejestrowany: 2005-11-16
Serwis

Re: htb nie działa do końca jak powinno

moj privider to Telefony Podlaskie SA, firma ktora miala byc lokalna konkurencja dla tepsy, nic z tepsy miec nie moge, a za to lacze place duzo za duzo, duzo wiecej niz w tepsie :/


Linux Registered User # 406343

Routing protocols enable routers to route routed protocols :)

Offline

 

#23  2006-08-25 12:27:29

  krolxxl - Użytkownik

krolxxl
Użytkownik
Zarejestrowany: 2006-08-09

Re: htb nie działa do końca jak powinno

kuchar: tak jak myślałem :) i faktycznie tanio nie jest

ale wracając do tematu to jest gdzieś w sieci jak to wszystko od podstaw zrobić, żeby niczego nie pominąć i nie stracić kolejnych tygodni :/

Offline

 

#24  2006-08-25 20:43:17

  kuchar - Użytkownik

kuchar
Użytkownik
Skąd: Warszawa
Zarejestrowany: 2005-11-16
Serwis

Re: htb nie działa do końca jak powinno

jest, ale teraz nie mam linka, gdzies na forum jest link jak zrobic imq, ogolnie w necie tego troche jest, jezeli chodzi o hfsc to jest ubogo, ja swoj skrypt zrobilem na podstawie skryptow Baroo i mojego kumpla ogolnie to musisz spatchowac sobie jajko potchem imq i jakims do p2p np ipp2p, skompilowac je, odpalic skrypt z HFSC i dziala spoko


Linux Registered User # 406343

Routing protocols enable routers to route routed protocols :)

Offline

 

#25  2006-08-25 22:04:07

  BaB - Członek DUG

BaB
Członek DUG
Skąd: Krapkowice
Zarejestrowany: 2004-09-09

Re: htb nie działa do końca jak powinno

...ale wracając do tematu to jest gdzieś w sieci jak to wszystko od podstaw zrobić, żeby niczego nie pominąć i nie stracić kolejnych tygodni :/

Tu możesz coś znaleźć.


Zarejestrowany użytkownik Linuksa #361563

Offline

 

Stopka forum

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