Ganz klar: Eine Internetverbindung soll schnell sein. Wieso sollte man sie künstlich verlangsamen wollen?

Ein triftiger Grund war für mich lovefilm.de: Einige Filme sind in HD, einerseits brauche ich aber keine HD-Auflösung, andererseits ruckelt das Video bei HD-Auflösung, was entweder daran liegen mag, dass mein Internetanschluss für HD doch etwas zu schmalbandig ist oder mein Mac einfach ein bisschen zu alt ist.

Leider gibt es eine Einstellungsmöglichkeit, auf HD zu verzichten, merkt Lovefilm aber, dass man keine große Internet-Bandbreite zur Verfügung hat, regeln sie automatisch auf SD runter.

Mit dem Kommando

ipfw
lässt sich dies bewerkstelligen.

Eigentlich sind die

man
-Pages ja ausreichend, aber der
ipfw
-Befehl ist doch etwas komplexer, so dass ich hier nur einige Beispiele aufführe, um an's Ziel zu kommen.

Gesamter Internettraffic auf dem Computer (up und down, alle Ports) auf 3MBit/s beschränken:

sudo ipfw pipe 1 config bw 3Mbit/s
sudo ipfw add 1 pipe 1 ip from any to any

Nur Port 80 auf 3MBit/s beschränken:

sudo ipfw pipe 1 config bw 3Mbit/s
sudo ipfw add 1 pipe 1 src-port 80

Hier noch ein paar Beispiele, um etwa ein paar BitTorrent-Ports auf 80kBit/s zu beschränken:

ipfw pipe 1 config bw 800Kbit
ipfw add 10 pipe 1 tcp from any to me 6881-6890
ipfw add 11 pipe 1 tcp from any 6881-6890 to me

Oder den Traffic zu einer bestimmten IP beschränken:

ipfw pipe 1 config bw 10Kbit
ipfw add 10 pipe 1 ip from me to 64.81.84.114

Beschränkung aufgeben:

sudo ipfw delete 1
oder
sudo ipfw flush
(entfernt sämtliche ipfw-Regeln).

Sollte man mehrere Beschränkungen erstellen, ist darauf zu achten, dass man die Pipes durchnummeriert. Ich habe hier im Beispiel immer nur

pipe 1
genommen.

Auf dieser Seite habe ich noch ein tolles Shell-Skript gefunden, mit dessen Hilfe man sich die Tipperei etwas erleichtern kann und was man auch etwas besser im Kopf behalten kann.


Andere GUI-Möglichkeiten:
  • Mit den MacOS X 10.7 Developer-Tools wird der Network Link Conditioner mitgeliefert
  • Die PreferencePane Speed Limit