Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Venom79 08:44
 » ligand17 08:42
 » Promilus 08:39
 » Doczu 08:35
 » DYD 08:32
 » Jumper 08:28
 » Dhoine 08:26
 » KHot 08:22
 » NimnuL 08:21
 » Markizy 08:15
 » resmedia 08:11
 » Nepomucen 08:05
 » Kenny 08:05
 » rzymo 08:03
 » ARTi 08:02
 » wrrr 08:00
 » PeKa 07:42
 » Syzyf 06:25
 » Martens 04:39

 Dzisiaj przeczytano
 10320 postów,
 wczoraj 26990

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

ograniczanie lacza pod linuxem / htb , Birdman 12/04/05 01:47
potrzebuje ograniczyc wysyl dwom kompm z mojej sieci; napisalem prosty skrypt htb ( http://phpfi.com/57578 na podstawie: http://linio.terramail.pl/htb.pdf ) , odpala sie on bez bledow jednak nie dziala; moze mi ktos z tym pomoc?

ping?

  1. .:. , Shneider 12/04/05 01:55
    #!/bin/bash
    IPTABLES=/usr/sbin/iptables
    HTB="/sbin/tc"


    tc qdisc del dev eth0 root
    tc qdisc add dev eth0 root handle 2:0 htb default 20
    tc class add dev eth0 parent 2:0 classid 2:20 htb rate 100Mbit ceil 100Mbit burst 15kbit
    # komp
    $HTB class add dev eth0 parent 2:2 classid 2:33 htb rate 588kbit ceil 588kbit prio 2 quantum 1500
    $HTB filter add dev eth0 protocol ip prio 5 parent 2:0 u32 match ip dst 192.168.1.2 flowid 2:33
    $HTB qdisc add dev eth0 parent 2:33 esfq perturb 10


    u mnie cus takiego jest

    do tego

    #!/bin/bash
    DEV=ppp0
    TC=/sbin/tc
    IPTABLES="/usr/sbin/iptables"
    /etc/rc.d/rc.imq restart
    $TC class add dev $DEV parent 1:1 classid 1:33 htb rate 96kbit ceil 96kbit prio 3
    $TC qdisc add dev $DEV parent 1:33 handle 33: esfq perturb 10
    $TC filter add dev $DEV parent 1:0 prio 3 protocol ip handle 33 fw flowid 1:33
    $IPTABLES -t mangle -D POSTROUTING -p tcp -s 192.168.1.x -j MARK --set-mark 33
    $IPTABLES -t mangle -I POSTROUTING -p tcp -s 192.168.1.x -j MARK --set-mark 33


    i jeszcze pare innnych bzdetow ktorych nie rozumiem :)

    .:: Live at Trance Energy ::.

  2. no chyba nie ten interfejs albo .. nie wiem , Babek 12/04/05 08:15
    jeśli tylko wysyłanie to coś w tym stylu
    UPLINK= # tutaj szybkość wysyłania mniej niz maks koło 85-90%
    $TC qdisc add dev $DEV root handle 1: htb default 30 # ustalasz główną kolejkę root , i standardową kolejkę do której będzie ruch nieprzydzielony nigdzie indziej tutaj 30
    $TC class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit # tutaj prędkość łącza wysyłanie dla wszystkich klas
    $TC class add dev $DEV parent 1:1 classid 1:10 htb rate $[34*$UPLINK/100]kbit ceil ${UPLINK}kbit
    $TC class add dev $DEV parent 1:1 classid 1:20 htb rate $[34*$UPLINK/100]kbit ceil ${UPLINK}kbit
    $TC class add dev $DEV parent 1:1 classid 1:30 htb rate $[32*$UPLINK/100]kbit ceil ${UPLINK}kbit #prękość dla klasy 30 gwarantowana to rate czyli 32 % z UPLINKU jak żadna z klas nie używa to będzie dochodzić do wartości UPLINK.
    $TC class add dev $DEV parent 1:10 handle 10: sfq perturb 10 #dla sprawiedliwego podziału dostępu do łącza dla programów
    $TC class add dev $DEV parent 1:20 handle 10: sfq perturb 10
    $TC class add dev $DEV parent 1:30 handle 10: sfq perturb 10

    $TC filter add dev $DEV parent 1: protocol ip u32 match ip src $HOST1 flowid 1:10
    $TC filter add dev $DEV parent 1: protocol ip u32 match ip src $HOST2 flowid 1:20
    # HOST1 / 2 to host dla którego chcesz pryzdzielić do klasy 1:10, definiujesz Numer IP i powinien przydzielać do kolejki IP hostów do 10, i 20 ,, a resztę nie pasującą do 30
    mozesz na stałę ustawić uulpad robiąć rate taki sam jak ceil -- ale nie ma to sensu
    Polecam np http://www.opalsoft.net/qos/DS-28.htm
    http://lukasz.bromirski.net/...rtc-pl.html#AEN2384
    http://www.inet.one.pl/...hp?id=about&op=about
    POWODZENIA :)

    1. ... , Babek 12/04/05 08:17
      znaczy chodzi mi ze na ppp0 prawdopodonie masz wysyłanie a nie na eth0 bo zrozumiałęm ze połączyłęś to wszyskto prawdopodonie na eth0 masz ściąganie
      Tutaj też fajny link ten na początek raczej
      http://www.debianusers.pl/...hp?aid=54&top10=1

      1. no to jest dokladnie tak: , Birdman 12/04/05 12:55
        do routera jest neo na usb (ppp0) i sieciowko (eth0); chce miec skrypt ktory po odpaleniu obetnie wszystkim kompom (po za moim)z mojej sieci transfery tak, aby w sumiewszystkie kompy mialy do dyspozycji 32/32kbity;

        ping?

  3. masz tu moje htb , Yoghurt 12/04/05 14:01
    http://www.yoghurt.pl/stuff/htb

    jak poswiecisz mu 10 minut to ladnie powinien dopasowac sie do twoje konfiguracji. jest w zasadzie parametryzowalny (pierwszych kilka linijek) jesli chodzi o predkosci lacza. regulki dla poszczegolnych userow musisz sobie sam dodac/usunac jesli moja ilosc ci nie spasuje. musisz pamietac o tym, ze aby ograniczyc wysyl z LAN'u musisz markowac pakiety na wejsciu (eth0) aby mozna bylo je przycinac (na podstawie mark'ow) na wyjsciu (ppp0). jesli cos tam bedzie niejasne dla ciebie to pisz na maila

    root is a state of mind

    1. no ja to odpalielm , Birdman 12/04/05 15:38
      po drobnych przerobkach, to wogole netu nie ma :]

      ping?

      1. ];> , Yoghurt 12/04/05 16:22
        a ja wlasnie uzyskalem prawa superusera u ciebie ;)

        a tak powaznie - pokaz te twoje przerobki... aha, jeszcze jedna wazna rzecz. tak jest esfq, jesli nie masz patchowanego kernela na obsluge esfq to zmien sobie to na sfq.

        root is a state of mind

        1. no wlasnie miedzy innymi , Birdman 12/04/05 16:43
          w tym miejscu pojawial sie blad... zaraz poprawie; a moje przerobki ogranizcyly sie do wywalenia laptopa zuzy ;)

          ping?

          1. jak jej powiem , Yoghurt 12/04/05 16:52
            to pewnie sie wkurzy ;) bo ostatnio czesto korzysta z sieci

            root is a state of mind

        2. po tej przererobce , Birdman 12/04/05 17:08
          nie podoba mu sie skladnia: nie wie co to hash jest

          ping?

          1. hmm , Birdman 12/04/05 17:10
            $TC qdisc add dev eth0 parent 1:20 sfq perturb 10

            to przechodzi... bedzie dzialac?? :>

            ping?

            1. no dobra , Birdman 12/04/05 17:28
              wywala errory ale ograniczyl sciaganie; jednak nie ogranicza wysylu...

              ping?

              1. a markujesz pakiety , Yoghurt 13/04/05 00:09
                ???

                root is a state of mind

                1. mow mi , Birdman 13/04/05 00:58
                  jeszcze :]

                  ping?

                  1. htb dziala w ten sposob , Yoghurt 13/04/05 10:14
                    ze tworzysz klasy i do tych klas przy pomocy filtrow wrzucasz poszczegolne pakiety (w duzym uproszczeniu). o ile ograniczenie downstream'u per user jest proste bo limity zaklada sie na interfejsie do ktorego podlaczony jest LAN a filtr ma konstrukcje na przyklad:

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

                    co oznacza ze wszystko co jest przeznaczone do 192.168.1.1 ma poleciec do klasy 1:21 (ta klase musisz sobie wczesnie zdefiniowac), o tyle w przypadku upstream'u sprawa sie lekko komplikuje - limity nakladasz na swoim interfejsie WAN'owym i tutaj w przypadku routera NAT'ujecego nie mozesz sie posluzyc wpisem analogicznym (ze zmiana dst na src) jak przedstawiony przeze mnie powyzej

                    # tc filter add dev ppp0 protocol ip parent 2:0 u32 match ip src 192.168.1.2 flowid 2:21

                    dlaczego? a no dlatego, ze skoro router jest NAT'ujacy to na ppp0 nigdy nie pojawi sie zaden pakiet z nieroutowalnym adresem zrodlowym. taki filtr po prostu niczego nie wychwyci. w takim przypadku trzeba zrobic maly myk i skorzystac z targetu MARK w tablicy mangle dla iptables. jesli teraz zapytasz "o so hozi?" pare slow wytlumaczenia. a no chodzi o to, zeby zlapac kazdy pakiet z twojego LAN'u w momencie gdy dochodzi on do routera i nadac mu odpowiedniego marka w zaleznosci od adresu zrodlowego z ktorego ow pakiet pochodzi. pakiet taki przejdzie caly proces routingu (zostanie na nim dokonany NAT) i podczas opuszczania twojego routera przez ppp0 filtr wylapie go na podstawie owego wczesniej nadanego marka i wrzuci do odpowiedniej klasy. jeszcze dorzuce po przykladowej linijce jak markowac pakiety i jak ma wyglada konstrukcja filtra dla tc

                    iptables -t mangle -A PREROUTING -i eth0 -s 192.168.1.2 -j MARK --set-mark 2

                    (pod eth0 masz podpiety LAN i wszystko co przyjdzie z 192.168.1.2 na eth0 zostanie zmarkowane dwojeczka). a pozniej tc:

                    tc filter add dev ppp0 parent 2:0 protocol ip handle 0x2 fw flowid 2:21

                    zrozumial?

                    root is a state of mind

                    1. tak mi sie wydaje , Birdman 13/04/05 20:02
                      okaze sie jak sie za to wezme (co nastapi pewno w przyszly weekend...)

                      ping?

  4. jeśłi czegoś brakuje w kernelu , Babek 12/04/05 22:27
    nie wiem co tam masz ale mozesz spróbować zrobić tak jak w podanych przeze mnie linkach - jeśli chodzi o kernela albo jak tutaj
    http://alfa.tailor.com.pl/....4.26/imq_htb_pl.html
    z tak przygotowanego kernelka nie powino być błędów przy tym skrypcie nawet możesz pominąć niektóre opcje, ale pewno za kilka dni przyjdzie ci ochota usprawnić swoje HTB :) każdy do swoich potrzeb robi , ja Swoje cały czas ulepszam nowymi opcjami :) tylko ze głónie podzieliłem upload na usługi kilku użytkowników więc nie trzeba inaczej , chodziło mi o dobre pingi .. i dalej trzeba poprawiać :)

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL