Strona Główna Unixy.pl
Internetowe forum na temat systemów GNU/Linux Unix

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload
 Ogłoszenie 
Strona korzysta z plików cookies w celu realizacji usług (logowanie do konta itp.). Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.

Poprzedni temat «» Następny temat
Przesunięty przez: Maciek_Rutecki
2006-07-23, 14:13
HTB - ograniczenie pasma dla jednego komputera
Autor Wiadomość
Maciek_Rutecki 
Administrator

JID: [email protected]
Pomógł: 39 razy
Dołączył: 07 Cze 2005
Posty: 2959
Wysłany: 2005-10-24, 17:24   HTB - ograniczenie pasma dla jednego komputera

Zastanawiam sie nad czyms takim:

Mam komputer z Debianem Etch na lanie (zwykly komp), router sprzetowy do neostrady. Poniewaz jest pieciu uzytkownikow, to chcialbym ograniczyc transfer upload/download z mojego komputera, aby nie odbierac innym pasma (np. przy sciaganiu duzych plikow), z tym ze:

- oddzielne reguly na trasie moj komp (IP 192.168.120.2) a router (192.168.120.50),
- oddzielne reguly (mniej rygorystyczne) dla pozostalych polaczen (czyli do LAN).

Czytam sobie o HTB i coraz mniej rozumiem, glownie sa opisywane przypadki wspoldzielenia lacza.
_________________
Maciek
http://www.maciek.unixy.pl
 
     
MegaBajt 

JID: [email protected]
Pomógł: 3 razy
Dołączył: 07 Cze 2005
Posty: 99
Wysłany: 2005-10-24, 19:32   

Z HTB to rzeczywiście trudna sprawa znaleźć jakiś obszerny opis (w sumie to kolejna pozycja do napisania :wink: ). Postaram się napisać coś konkretnego we wtorek, albo w środę... bo jak narazie to nie mam zabardzo czasu :| Ale tak na szybko to trzeba zrobić:

- główna klasę dla lanu
- główną klasę dla downloadu z internetu
- główną klasę dla uploadu z internetu

PS. nawet nie wiem, czy ta klasa będzie od razu klasą użytkową... nigdy z takim ograniczeniem dla jednego kompuera się nie spotkałem.

Najprawdopodobniej będzie trzeba markować pakiety, bo nie mam pomysłu jak powiedzieć htb, że dany pakiet idzie do lanu, a nie do netu. To tak jak napisałem... zastanowię się i jak będę miał czas to coś jeszcze naskrobię :)
_________________
Marcin Banasiak
 
     
Maciek_Rutecki 
Administrator

JID: [email protected]
Pomógł: 39 razy
Dołączył: 07 Cze 2005
Posty: 2959
Wysłany: 2005-10-24, 20:42   

dzieki :)
_________________
Maciek
http://www.maciek.unixy.pl
 
     
MegaBajt 

JID: [email protected]
Pomógł: 3 razy
Dołączył: 07 Cze 2005
Posty: 99
Wysłany: 2005-10-25, 20:31   

To tak jak obiecałem, coś napiszę... Napiszę jak to może wyglądać przy markowaniu pakietów na firewallu (nie wiem czy można zaprzeczać ip w filtrach np. [...] ip dst ! 192.168.0.0/24 [...], bo to by był prostrzy sposób). To załóżmy, że:

- download z internetu - mark 1
- upload do internetu - mark 2
- download z LANu - mark 11
- upload do LANu - mark 12

Kod:
# Czyścimy główną kolejkę

tc qdisc del root dev eth0

# Tworzymy główną kolejkę

tc qdisc add dev eth0 root handle 1:0 htb

# Tworzy głównę klasę dla LANu (przyjmujemy, że download z LANu == upload z LANu)
# np. tc class add dev eth0 parent 1:0 classid 1:1 htb rate 10000kbit ceil 10000kbit (ogranicza szybkość do ~10Mbit/s)

tc class add dev eth0 parent 1:0 classid 1:1 htb rate <down_z_lan>kbit ceil <down_z_lan>kbit

# Tworzy klasę dla downloadu z neta

tc class add dev eth0 parent 1:1 classid 1:2 htb rate <down_z_neta>kbit ceil <down_z_neta>kbit

# Tworzy klasę dla uploadu z neta

tc class add dev eth0 parent 1:1 classid 1:3 htb rate <up_z_neta>kbit ceil <up_z_neta>kbit

# Tworzy klasę dla downloadu / uploadu z LANu (musi być mniejsze niż wartości w klasie głównej, gdyż obok tego
działa jeszcze klasa downloadu / uploadu z internetu)

tc class add dev eth0 parent 1:1 classid 1:4 htb rate <szybkosc_lan>kbit ceil <szybkosc_lan>kbit

# FILTRY

tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 1 fw flowid 1:2
tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 2 fw flowid 1:3
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 11 fw flowid 1:4
tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 12 fw flowid 1:4

# Sprawiedliwa obsługa poszczególnych klas

tc qdisc add dev eth0 parent 1:2 sfq perturb 10
tc qdisc add dev eth0 parent 1:3 sfq perturb 10
tc qdisc add dev eth0 parent 1:4 sfq perturb 10

Myśle, że to coś koło tego :D Głowy jednak nie dam sobie za to uciąć. Coś tam sam napisze, ale to jednak nawet nie połowa tego, co powinienem umieć :wink:

PS. Może lepiej byłoby poszukać czegoś na sztywno dzielącego łącze (o ile takie coś istnieje :) ), bo HTB to raczej do dynamicznego dzielenia łącza...
_________________
Marcin Banasiak
 
     
Maciek_Rutecki 
Administrator

JID: [email protected]
Pomógł: 39 razy
Dołączył: 07 Cze 2005
Posty: 2959
Wysłany: 2005-10-25, 21:05   

MegaBajt napisał/a:


PS. Może lepiej byłoby poszukać czegoś na sztywno dzielącego łącze (o ile takie coś istnieje :) ), bo HTB to raczej do dynamicznego dzielenia łącza...


Jeszcze raz dzięki :-) . Sam wlasnie zastanawiam sie nad czyms innym, bo używanie HTB do stosunkowo prostego zadania troche wydaje mi się przerostem formy nad treścią. Coś mi sie kojarzy, że można wpływać też poprzez iptables (w ograniczonym zakresie), ale sam już nie wiem. Poeksperymentuje w weekend.
_________________
Maciek
http://www.maciek.unixy.pl
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group