dummynet + natd

wweiland

Master of the clicks
Folgende Situation habe ich: Ich will von einem bestimmten Rechner den Traffic auf 56 kb begrenzen.
Dazu benutze ich diese Befehlssequenz:

ipfw add 100 pipe 1 ip from 192.168.1.88 to any
ipfw pipe 1 config bw 56Kbit/s

Nun will ich für den Rechner 192.168.1.88 NAT benutzen:

ipfw add 1000 divert natd all from 192.168.1.88 to any via external_interface

Ist diese Reihenfolge richtig:

1.Pipeaufbau
2. Begrenzung des Traffics in der Pipe
3. Umleitung in NAT

Diese Kombination habe ich leider in den betreffenden Dokumentationen nicht gefunden.
 
Mmmhh. also ich kenne pipe nicht, aber kannst du nicht einfach die sequenznummern von ipfw verwenden um die reihenfolte festzulegen, wie:

ipfw add 100 pipe 1 ip from 192.168.1.88 to any
ipfw pipe 200 config bw 56Kbit/s
ipfw add 300 divert natd all from 192.168.1.88 to any via external_interface

ansonsten schick mal output von "ipfw sh", da steht die reihenfolge.

martin
 
Code:
ipfw pipe 1 config bw 56kBit/s
ipfw add pipe 1 tcp from 192.168.1.88 to any via $ext_if
[...]
ipfw add divert all from 192.168.1.88 to any via $ext_if
  • Pipe erstellen
  • Paket in die pipe stecken
  • Nach dem reinject ab ins NAT
Steht btw aber alles in der ipfw manpage.
 
divert kann nur funktionieren wenn es ALLE Pakete sieht, du musst also 'divert all from any to any' verwenden, sonst hast du ne Einbahnstrasse.

Genau aus dem Grund muss auch das Queueing vor dem NAT stattfinden.
 
Zurück
Oben