IPFW traffic shaping

From: Martin Madsen (none@martin--sprithuset.dk.lh.bsd-dk.dk)
Date: Sun 22 Aug 2004 - 20:46:33 CEST


From: "Martin Madsen" <none@martin--sprithuset.dk.lh.bsd-dk.dk>
To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk>
Subject: IPFW traffic shaping
Date: Sun, 22 Aug 2004 20:46:33 +0200

Hej alle BSD'ere.

Jeg er ved at lave et IPFW script der kan prioritere hvilken traffik der
kommer igennem min FreeBSD 5.2.1 gateway hurtigst vha. pipe's og queue's.

Jeg har lavet hvad jeg mener der skal til vha. forskellige guides på nettet,
man ipfw, man dummynet og freebsd handbook. Men jeg synes ikke helt den
fungerer som den skal.

Hvis jeg loader et script med "divert" og "add all from any to any" som de
eneste 2 linjer kan jeg loade en side som fx newz.dk med omkring 50KB/s og
det samme gør sig gældende hvis jeg loader mit shaping script. Men hvis jeg
starter med at uploade noget til fx en ftp med ca: 40-50KB/s kan jeg ikke
downloade sider med mere end ca. 10KB/s.

Min linje er på 512/512Kbit/s.

Jeg har prøvet at fjerne linjerne 101 og 109 da jeg troede de måske optog
for meget båndbredde da de er højt prioriteret men uden held.

Jeg har tilføjet IPFIREWALL,DIVERT,dummynet og HZ=1000 til min kerne.

Jeg håber der er nogen derude der kan se hvad problemet er.

Her er mit script:

#-------------
# Download pipe
pipe 1 config bw 512Kbit/s

# Queue for hoejt prioriteret trafik
queue 1 config pipe 1 weight 100

# Queue for mellem prioriteret trafik
queue 2 config pipe 1 weight 70

# Queue for minimum prioriteret trafik
queue 3 config pipe 1 weight 15

#
###
#

# Upload pipe
pipe 2 config bw 512Kbit/s

# Queue for hoejt prioriteret trafik
queue 4 config pipe 2 weight 100

# Queue for mellem prioriteret trafik
queue 5 config pipe 2 weight 70

# Queue for minimum prioriteret trafik
queue 6 config pipe 2 weight 15

add 100 divert natd all from any to any via vr0

# Tildel tomme eller smaa ACK pakker til hoejt prioriteret queue
add 101 queue 1 tcp from any to 192.168.1.0/24 in via vr0 tcpflags ack iplen
0-80

# Tildel ssh (tcp) og alt udp like gaming,live streaming af musik/film.
add 102 queue 1 tcp from any to 192.168.1.0/24 22,8500 in via vr0
add 103 queue 1 udp from any to 192.168.1.0/24 in via vr0

# Tildel web trafik (browsing og download) til medium prioriteret traffik
add 104 queue 2 tcp from any to 192.168.1.0/24 80,8080,9090 in via vr0

# Tildel resten der kommer ind paa vr0 til lav prioriteret trafik.
add 105 queue 3 tcp from any to 192.168.1.0/24 in via vr0

# Tildel tomme eller smaa ACK pakker til hoejt prioriteret queue
add 106 queue 4 tcp from 192.168.1.0/24 to any out via vr0 tcpflags ack
iplen 0-80

# Tildel ssh (tcp) og alt udp like gaming,live streaming af musik/film og
DNS ti
add 107 queue 4 tcp from 192.168.1.0/24 to any 22,8500 out via vr0
add 108 queue 4 udp from 192.168.1.0/24 to any out via vr0

# Tildel web trafik (browsing og download) til medium prioriteret traffik
add 109 queue 5 tcp from 192.168.1.0/24 to any 80,8080,9090 out via vr0

# Tildel resten der kommer ind paa vr0 til lav prioriteret trafik.
add 110 queue 6 tcp from 192.168.1.0/24 to any out via vr0

add 111 allow all from any to any

#---------------------



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:42 CET