Bandbreite bei Bedarf drosseln

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Cassadi
Beiträge: 135
Registriert: 19.03.2005 12:58:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Bandbreite bei Bedarf drosseln

Beitrag von Cassadi » 19.02.2008 18:13:49

Hallo edle Coder,

ich habe mir einen kleinen Server gebastelt (T-Online S100) auf dem unter anderem ein Proftpd Server für "versprengte" Familienmitglieder läuft. Nun möchte ich gerne folgendes realisieren. Der Miniserver soll, sobald ein anderer Rechner (Habe hier noch einen Hauptrechner und ein Notebook) die Bandbreite des FTP Servers bzw. der Box drosseln.

Beispiel:

Mein Schwesterlein hat eine FTP Sitzung und läd sich gerade das neueste Urlausvideo von meinem Miniserver. Nun komme ich von der Arbeit nach Hause und möchte ein wenig im Netz serven, aber Schwesterlein beansprucht die ganze Bandbreite, sodass ich auf mein Surfvergügen verzichten muss.

Ich möchte also das die Box merkt: Hey, da ist der Rechner 1 ohnline gegangen und will surfen. Also drossel ich mal fix den Upload des FTP". Und eben dann, wenn kein Rechner mehr im Netz online ist gibt es automatisch wieder den vollen Speed.

Alle 3 Rechner (2 normale + die Box) sind mit festen IP`s an einem Router angeschlossen.
Somit könnte man ja per Ping IP des Recher 1 && Ping IP des Rechner 2 sehen ob jemand online ist oder nicht. Wenn ja dann drosseln wenn nein bitte weiter mit Vollspeed.

Ist sowas realisierbar und kann sowas jemand bitte coden?

Liebe Grüße
Cassadi
Ich würde gerne die Welt verbessern, doch Gott gibt mir den Quellcode nicht.
Märchenbasar - Tritt ein und lasse dich verzaubern!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 19.02.2008 23:45:22

Es gibt zwar Möglichkeiten das auf IP Ebene zu machen, ist aber nicht trivial..

unter http://www.proftpd.de/FAQ.15.0.html gibt es den Punkt "Bandbreite beschränken"..
Wenn du da einfach versuchst das ganze etwas einzudämmen, könnte es schon helfen.. ansonsten http://www.ibiblio.org/pub/Linux/docs/H ... HOWTO.html
aber ich nehme an, es schreckt ab (mich zumindest :D)
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.02.2008 08:34:53

Savar hat geschrieben:Es gibt zwar Möglichkeiten das auf IP Ebene zu machen, ist aber nicht trivial..

unter http://www.proftpd.de/FAQ.15.0.html gibt es den Punkt "Bandbreite beschränken"..
Wenn du da einfach versuchst das ganze etwas einzudämmen, könnte es schon helfen.. ansonsten http://www.ibiblio.org/pub/Linux/docs/H ... HOWTO.html
aber ich nehme an, es schreckt ab (mich zumindest :D)
Problem bei der Bandbreiten-Reduzierung am ProFTPd: die Reduzierung zieht ja immer, soweit ich das sehe oder?
Damit könnte jemand nie die komplette Bandbreite beanspruchen, auch wenn sonst niemand was macht.
Denke, für dieses Problem wäre schon die Bandbreitenregelung auf IP-Ebene die bessere Wahl.
Leider hat Savar da aber recht, das ganze ist nicht wirklich trivial einzurichten...
Neben dem Advanced Routing HowTo könnte dir hier auch im Forum und bei Google die Suche nach Traffic Shaping den ein oder anderen Tipp bringen.

Benutzeravatar
Cassadi
Beiträge: 135
Registriert: 19.03.2005 12:58:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von Cassadi » 20.02.2008 08:46:42

Hallo und danke Euch beiden für die rasche Antwort.

Ja eine direkte Bandbreitenbeschränkung in Proftp wollte ich nicht, da diese ja generell gilt und sich nicht "dynamisch" anpasst wenn niemand sonst Bandbreite brauch.

Der 2. Link ist wirklich Hardcore und ich werde da mit meinen minimalsten Englischkenntnissen machtlos sein. Nun ja es ist ja nicht so das ich täglich unter Bandbreitenverlust leide, aber gelegetnlich kommt es halt vor und man bastelt ja auch gerne am System um es für seinen Bedarf zu perfektionieren.

Ich werde mal ein wenig weitergoogeln und vieleicht stoße ich auf eine deutsche Anleitung die das Problem behandelt.

Liebe Grüße
Cassadi
Ich würde gerne die Welt verbessern, doch Gott gibt mir den Quellcode nicht.
Märchenbasar - Tritt ein und lasse dich verzaubern!

Benutzeravatar
ckoepp
Beiträge: 1409
Registriert: 11.06.2005 20:11:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nähe Heidelberg

Beitrag von ckoepp » 20.02.2008 10:08:19

Kann mich dunkel daran erinnern, dass QoS mit iptables irgendwie realisierbar war. Werd ma in den Tiefen meiner Booksmark kramen, vielleicht find ich was dazu...
"Es gibt kein Problem, das man nicht mit einem doppelten Scotch lösen könnte!"
Ernest Hemingway

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.02.2008 11:29:26

ckoepp hat geschrieben:Kann mich dunkel daran erinnern, dass QoS mit iptables irgendwie realisierbar war. Werd ma in den Tiefen meiner Booksmark kramen, vielleicht find ich was dazu...
So halb. Die Queues muss man mit tc einrichten. Mit iptables kann man dann Pakete mit Markierungen versehen, die von den Filtern für die Queues wieder ausgewertet werden und damit entschieden wird, zu welcher Queue ein Paket gehört.

Kleines Beispiel aus einem alten Skript meines Debian-Routers:

Code: Alles auswählen

IPTABLES=/sbin/iptables
EXT_IF='eth0'
$IPTABLES -A FORWARD -t mangle -m length --length 0:500 -j MARK --set-mark 10
...
# Settings for traffic shaper
# TC
tc qdisc add dev $EXT_IF root handle 2:0 htb default 11
tc class add dev $EXT_IF parent 2:0 classid 2:1 htb rate 123kbit ceil 123kbit
tc class add dev $EXT_IF parent 2:1 classid 2:10 htb rate 100kbit ceil 123kbit prio 0
tc class add dev $EXT_IF parent 2:1 classid 2:11 htb rate 23kbit ceil 123kbit prio 1
tc filter add dev $EXT_IF parent 2:0 prio 0 protocol ip handle 10 fw flowid 2:10
tc filter add dev $EXT_IF parent 2:0 prio 0 protocol ip handle 11 fw flowid 2:11
Damit habe ich alle ausgehenden Pakete bis 500 Bytes mit 10 markiert. Diese Pakete werden dann in die Queue mit Priorität 0 einsortiert und damit vor grösseren Paketen behandelt.
Vielleicht kannst du damit ja schon was anfangen...

Benutzeravatar
ckoepp
Beiträge: 1409
Registriert: 11.06.2005 20:11:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nähe Heidelberg

Beitrag von ckoepp » 20.02.2008 12:29:25

"Es gibt kein Problem, das man nicht mit einem doppelten Scotch lösen könnte!"
Ernest Hemingway

Benutzeravatar
Cassadi
Beiträge: 135
Registriert: 19.03.2005 12:58:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von Cassadi » 20.02.2008 12:31:57

Danke auch Euch beiden. Werde mir die "Lektüre" dann heute Abend mal zu Gemüte führen. Vieleicht ist da ja was passendes für mich dabei.

Liebe Grüße
Cassadi
Ich würde gerne die Welt verbessern, doch Gott gibt mir den Quellcode nicht.
Märchenbasar - Tritt ein und lasse dich verzaubern!

Antworten