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
downloads begrenzen
Re: downloads begrenzen
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
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?
Re: downloads begrenzen
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
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
-
- Posts: 38
- Joined: 02. Jun 2000 14:49
Re: downloads begrenzen
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?
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
Wie funktioniert Routing? www.e-bits.de
Re: downloads begrenzen
>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?
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?
Re: downloads begrenzen
>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....
> 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....
Re: downloads begrenzen
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">
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">
Re: downloads begrenzen
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
Danke nochmals für Eure hilfe <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
H.Gerbert