downloads begrenzen

Post Reply
Message
Author
H.Gerbert

downloads begrenzen

#1 Post by H.Gerbert »

Hallo,
ich habe ein kleines netzwerk zu hause, in dem ein rh7.2 als gateway an dsl hängt.
in diesem netzwerk hängt auch noch ein freund von mir mit drin. leider hat er die angewohnt heit relativ viel zu saugen...

zu meiner frage: kann man seine download irgendwie beschränken, das er nur noch zb mit max. 50kB saugen kann?
Ich habe mal irgendwo gehört, man könnte das mit dem squid proxy machen, der auch auf dem gateway läuft.

Danke schon mal im vorraus
H.Gerbert

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: downloads begrenzen

#2 Post by hjb »

Hi,

das geht mit den "Delay Pools" von Squid. Das Squid-FAQ gibt dazu nähere Auskunft. Macht natürlich nur Sinn, wenn es keine Möglichkeit gibt, Squid zu umgehen. Dann hilft nur eine echte Bandbreitenbegrenzung, wie sie im Advanced-Routing-HOWTO beschrieben ist. So etwas habe ich aber noch nicht selbst gemacht.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

MrDeath

Re: downloads begrenzen

#3 Post by MrDeath »

Ist eigentlich relativ einfach, wenn man weiß, wie es geht <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> ...
Das Tool, dass Du benötigst nennt sich "Traffic Control" (tc), ist eigentlich bei fast jeder neuen Distribution (ich meinte ab Kernel 2.4.x) dabei: Ich gebe Dir kurz nen Beispiel-Konfiguration, damit Du Dich nicht durch das (sehr gute) Howto durchschlagen musst. Natürlich solltest Du zuerst dieses Tool "tc" installiert haben *g*.

Stellen wir uns folgendes Szenario vor:
Du hast T-DSL mit einer DL-Bandbreite von 768 KBit/s, Du hast 2 Klienten, der eine mit der Ip 192.168.1.2 der andere mit der IP 192.168.1.3 ... Das Device fürs LAN nennt sich "eth0":

#tc qdisc add dev eth0 root handle 10: cbq bandwidth 768Kbit avpkt 1000
#tc class add dev eth0 parent 10:0 classid 10:1 cbq bandwidth 768Kbit rate 768Kbit allot 1514 weight 77Kbit prio 8 maxburst 20 avpkt 1000
#tc class add dev eth0 parent 10:1 classid 10:100 cbq bandwidth 768Kbit rate 384Kbit allot 1514 prio 5 maxburst 20 avpkt 1000 bounded
#tc class add dev eth0 parent 10:1 classid 10:200 cbq bandwidth 768Kbit rate 384Kbit allot 1514 prio 5 maxburst 20 avpkt 1000 bounded
#tc qdisc add dev eth0 parent 10:100 sfq quantum 1514b perturb 15
#tc qdisc add dev eth0 parent 10:200 sfq quantum 1514b perturb 15
#tc filter add dev eth0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.1.2 flowid 10:100
#tc filter add dev eth0 parent 10:0 protocol ip prio 25 u32 match ip dst 192.168.1.3 flowid 10:200

So, nun hat jeder der 2 Klienten eine max. Download-Bandbreite von 384 KBit/s, die Upload-Bandbreite bleibt für jeden unbegrenzt. (Hinweis: dies beschränkt die Bandbreite zwischen Router und Klienten, zwischen dem Traffic zwischen Inet -> Klienten und Router -> Klienten wir hierbei nicht unterschieden)

Ich hoffe Dir damit weitergeholfen haben

slartibartfas
Posts: 38
Joined: 02. Jun 2000 14:49

Re: downloads begrenzen

#4 Post by slartibartfas »

Und ich dachte, ich wäre der Einzige, der sich durch tc gekämpft hat <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Als kleiner Hinweis noch: Ich würde die Bandbreiten nicht fest vergeben, also bounded weglassen. Warum den Zugang verlangsamen, wenn der andere eh nicht surft?
Last edited by slartibartfas on 03. Feb 2002 12:51, edited 1 time in total.
--
Wie funktioniert Routing? www.e-bits.de

MrDeath

Re: downloads begrenzen

#5 Post by MrDeath »

>Und ich dachte, ich wäre der Einzige, der sich durch tc gekämpft hat

Ich fand die Thematik recht interessant und da ich von Proxies absolut nichts halte (außer von applikationsspezifische Proxies), kam ich sehr schnell zu TC ...

>Als kleiner Hinweis noch: Ich würde die Bandbreiten nicht fest vergeben, also bounded weglassen. Warum den Zugang verlangsamen, wenn der andere eh nicht surft?

Du hast im Prinzip schon recht, das ist eben die radikale Methode <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> ...

Eine weitere Frage: wie begrenze ich die Upload-Bandbreite? welches Device muss ich dafür angeben (ppp0 oder bspw. eth1)? Irgendwie will das bei mir nicht funktionieren <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle"> ... Ich bin mir jetzt nicht mehr ganz im Klaren darüber, ob die ausgehenden Pakete zu dem Zeitpunkt, wo die Filterregel die ich mit TC eingerichtet habe einsetzt, schon maskiert sind ... Wenn ja, wie geht es dann?

Kersam

Re: downloads begrenzen

#6 Post by Kersam »

>Eine weitere Frage: wie begrenze ich die Upload-Bandbreite? welches Device muss ich dafür angeben (ppp0 oder bspw. eth1)?
> Irgendwie will das bei mir nicht funktionieren

Du könntest versuchen die Pakete an der Imput-Chaint mit Ip-tables je nach Ip-Adresse zu maskieren, und dann mit tc nicht match ip sondern auf die markierung überprüfen.
Müsste klappen....

H.Gerbert

Re: downloads begrenzen

#7 Post by H.Gerbert »

Vielen lieben Dank, ähmm, MrDeath und allen amderen hilfsbereiten <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Habe allerdings noch paar kleine Fragen dazu.
Ich nehme mal an, das die Eintragungen statisch sind, also im Falle einens Neustarts des Rechners erneut eingegeben werden müssen bzw das script, wo ich die Befehlszeilen eingetragen habe, erneut ausgeführt werde muss?
Und wie kann ich die Einträge löschen bzw flushen, für den Fall das es nicht Notwendig ist, die Bandbreite zu begrenzen?

Auf jedenfall bedank ich mich nochmals ganz doll. Danke <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

H.Gerbert

Re: downloads begrenzen

#8 Post by H.Gerbert »

Ich wollte nochmal den Thread nach oben schieben, um zu fragen, wie man die Limitierung über tc reseten kann bzw zurück setzen kann?

Danke nochmals für Eure hilfe <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

H.Gerbert

Post Reply