Priorisierung im iptables?

xsapling

Mitglied
Mitglied seit
30 Jan 2005
Beiträge
755
Punkte für Reaktionen
0
Punkte
0
Hi,

ich habe in die firmware meiner box sämtliche iptables integriert und frage mich, ob es damit möglich ist, den Internetverkehr zu priorisieren. Klar, AVM hat so eine Priorisierung eingebaut. Nur scheint diese bie mir nur den Upstream zu priorisieren.
Den Downstream jedoch nicht. Von daher bin ich auf der Suche, welche Möglichkeiten es gibt auch den Downstream adäquat zu priorisieren.

Hat es schonmal jedmand versucht und geschafft, mit Hilfe von iptables Pakete zu bevorrechtigen, die an eine bestimmte URL gehen und reinkommen?

Wäre sehr nett!
Viele Grüße
 
Kann man den Downstream überhaupt priorisieren? Du kannst höchstens durch die Antwortpakete steuern wie schnell die anderen bei dir reinkommen...

Gruß
Oliver
 
Hat es schonmal jedmand versucht und geschafft, mit Hilfe von iptables Pakete zu bevorrechtigen, die an eine bestimmte URL gehen und reinkommen?
Ja, indirekt. Mit trickle, privoxy und iptables.

EDIT:


tcpnice wäre evtl. auch eine Möglichkeit.
 
Zuletzt bearbeitet:
danke für die info!
ich schau mir das ganze mal an und melde mich dann wieder, sofern entsprechendes festgestellt werden kann.
 
Jo, würde mich auch interessieren, vor allem, ob Downstream-Priorisierung damit hinhaut.
 
..., ob Downstream-Priorisierung damit hinhaut.
Meinst Du mit iptables & Co. oder mit tcpnice? Beides funktioniert, muss aber den lokalen Bedürfnissen/Bedingungen angepasst, eingestellt werden.
 
Ist mir relativ egal (wobei iptables angeblich auf der 3170 nicht richtig funktionieren ... conntrack).
So dass man dann z.B. trotz Download im Hintergrund flüssig Online-Multiplayer-Spiele spielen kann (ohne jedoch die Downloadrate auf einen festen Wert zu begrenzen). Da "nice" ja dasselbe für CPU-Zeit macht, hört sich tcpnice nicht verkehrt an :)
 
..., hört sich tcpnice nicht verkehrt an :)
Hier ein mit tcpnice
Code:
./tcpnice -A -i lan '[COLOR=red]dst host 192.168.138.185[/COLOR] && [COLOR=red]dst portrange 1-65535[/COLOR] && ! port 23'
gedrosselter download:
Code:
:~/myfreetz/freetz7293> [COLOR=red]wget[/COLOR] ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-bootonly.iso
--2011-07-30 16:10:37--  ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-bootonly.iso
           => `FreeBSD-8.2-RELEASE-amd64-bootonly.iso.3'
Auflösen des Hostnamen »ftp.freebsd.org«.... 149.20.64.73, 87.51.34.132, 204.152.184.73, ...
Verbindungsaufbau zu ftp.freebsd.org|149.20.64.73|:21... verbunden.
Anmelden als anonymous ... Angemeldet!
==> SYST ... fertig.    ==> PWD ... fertig.
==> TYPE I ... fertig.  ==> CWD /pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2 ... fertig.
==> SIZE FreeBSD-8.2-RELEASE-amd64-bootonly.iso ... 53145600
==> PASV ... fertig.    ==> RETR FreeBSD-8.2-RELEASE-amd64-bootonly.iso ... fertig.
Länge: 53145600 (51M)

 5% [=====>                                                                                                              ] 2.783.093   [COLOR=red][B]37,3K/s[/B][/COLOR]  ETA 22m 24s
Hier der download ohne die tcpnice-Regel:
Code:
:~/myfreetz/freetz7293> [COLOR=red]wget[/COLOR] ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-bootonly.iso
--2011-07-30 16:04:40--  ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2/FreeBSD-8.2-RELEASE-amd64-bootonly.iso
           => `FreeBSD-8.2-RELEASE-amd64-bootonly.iso'
Auflösen des Hostnamen »ftp.freebsd.org«.... 149.20.64.73, 87.51.34.132, 204.152.184.73, ...
Verbindungsaufbau zu ftp.freebsd.org|149.20.64.73|:21... verbunden.
Anmelden als anonymous ... Angemeldet!
==> SYST ... fertig.    ==> PWD ... fertig.
==> TYPE I ... fertig.  ==> CWD /pub/FreeBSD/releases/amd64/ISO-IMAGES/8.2 ... fertig.
==> SIZE FreeBSD-8.2-RELEASE-amd64-bootonly.iso ... 53145600
==> PASV ... fertig.    ==> RETR FreeBSD-8.2-RELEASE-amd64-bootonly.iso ... fertig.
Länge: 53145600 (51M)

100%[===================================================================================================================>] 53.145.600  [COLOR=red][B]1,03M/s[/B][/COLOR]   in 57s
Bei tcpnice kann man, anders als bei trickle, die download-Rate nicht einstellen. Ich denke das muss man auch nicht, denn für normales Surfen reichen die ca. 40K/s aus. tcpnice hat aber den Vorteil, dass man mit der Filterregel, die tcpnice-Regel nach IP-Adresse (src und dst) und Port (src und dst) genau einstellen kann. Mit einem cronjob könnte man die tcpnice-Regeln, auch zeitgesteuert anwenden.
 
Hab mich jetzt ein bisschen informiert... anscheinend bremst tcpnice einfach die gewählten Ports drastisch runter, also eher keine Priorisierung.
Beispiel für das, was ich suche:
Ein durchgehender Download läuft stets im Hintergrund. Wenn kein anderer Prozess auf das Internet zugreift, läd der Download mit voller Geschwindigkeit.
Doch sobald ein Prozess mit höherer Priorität Bandbreite benötigt, wird der Download genau so stark gebremst, dass der höherwertige Prozess soviel Bandbreite haben kann, wie er will (nötigenfalls wird der Hintergrund-Download auf ein Minimum begrenzt). Sobald alle höherwertigen Prozesse keine Bandbreite mehr benötigen, läd der Hintergrunddownload wieder mit voller Geschwindigkeit.

Am besten gesteuert über Ports... falls nicht, dann über Prozesse.
Funktioniert so etwas mit iptables oder einem anderen Tool?
 
Am besten gesteuert über Ports... falls nicht, dann über Prozesse.
Funktioniert so etwas mit iptables oder einem anderen Tool?
So ein tool will ich auch, für meine FritzBoxen haben.;-)
Nein, mit iptables geht das m. W., nicht.
 
Habe jetzt noch weiter gegoogelt...
ist, wie andere schon sagten, schwierig, da ja die eingehenden Pakete nicht direkt gesteuert werden können.
Allerdings sollte es doch über den Upload realisierbar sein... würde mich wirklich interessieren, ob es da schon ein Programm o.ä. gibt. (Rein prinzipiell, d.h. es muss nicht auf der Fritzbox laufen)

EDIT:
N paar Links gefunden, die les ich mir morgen durch.
http://www.google.de/search?q=inbound+traffic+shaping&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:eek:fficial&client=firefox-a
http://www.linuxaddicted.de/blog/2009/01/28/inbound-traffic-shaping-made-pretty-easy/
http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_single/ADSL-Bandwidth-Management-HOWTO.html#AEN149
http://www.cisco.com/en/US/tech/tk543/tk545/technologies_tech_note09186a00800a3a25.shtml
 
Zuletzt bearbeitet:
... würde mich wirklich interessieren, ob es da schon ein Programm o.ä. gibt. (Rein prinzipiell, d.h. es muss nicht auf der Fritzbox laufen)
Ja, closed source und kostenpflichtig, gibt es einige dieser Programme.
 
Zuletzt bearbeitet:
To limit your download you can do shaping when the packets leave your box, on LAN interface.
iptables can at the most classify packets, you need proper working tc command and kernel modules:
http://www.jzab.de/content/customize-your-fritzbox-allow-traffic-shaping

Using Linux IMQ (Intermediate Queueing Device) you might even be able to shape ingress traffic on dsl interface though I never tried.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.