[ previous ] [ next ] [ threads ]
 
 From:  Michel Schilthuizen <bulk at deputy dot nl>
 To:  m0n0wall at lists dot m0n0 dot ch
 Subject:  Traffic shaping (interactive ssh big latency with shaping activated)
 Date:  Wed, 14 Jan 2004 12:25:41 +0100
Hey Guys,

I have to say, I love the potential of the trafic shaping part in M0n0wall. I 
am however having some problems using it. 

What I am trying to do, is to split up my traffic into three chunks. Very 
important (interactive), important (web browsing and other user stuff), low 
importance (ftp server, etc).

As you can see below, I have created three queues, all leading to one pipe, 
which is limited to 54kBytes (almost maximum upload) * 8. These queues have 
weights 10, 20 and 30. During my tests, this pipe was never full. 

My problem is that the interactive ssh traffic from the outside to the inside 
becomes much less responsive when the traffic shaper is activated, even when 
all traffic that is not specified (ssh would be part of this), is assigned to 
the pipe directly. I have also tried assigning it to the queue with the 
highest weigt and seperately specifying the ssh traffic to go to the important 
queue (that's offcourse where I started), all the other stuff would then go 
into the important queue (the middle one)

Can anyone look at the config below and help me out?

Cheers,
Michel Schilthuizen

PS: I could also include a screenshot, but I didn't want to send such a big 
mail!




- <shaper>
- <rule>
  <interface>lan</interface> 
  <protocol>tcp</protocol> 
- <source>
  <address>10.1.1.20</address> 
  <port>20</port> 
  </source>
- <destination>
  <any /> 
  </destination>
  <direction /> 
  <iplen /> 
  <tcpflags /> 
  <descr>FTP bandwidth limitation</descr> 
  <targetqueue>1</targetqueue> 
  </rule>
- <rule>
  <interface>lan</interface> 
  <protocol>tcp</protocol> 
- <source>
  <any /> 
  </source>
- <destination>
  <any /> 
  </destination>
  <direction>in</direction> 
  <iplen>0-80</iplen> 
  <tcpflags>ack</tcpflags> 
  <descr>ACK priority</descr> 
  <targetqueue>2</targetqueue> 
  </rule>
- <rule>
  <interface>lan</interface> 
  <protocol>tcp</protocol> 
- <source>
  <address>10.1.1.20</address> 
  <port>80</port> 
  </source>
- <destination>
  <any /> 
  </destination>
  <direction /> 
  <iplen /> 
  <tcpflags /> 
  <descr>Web server upload traffic</descr> 
  <targetqueue>0</targetqueue> 
  </rule>
- <rule>
  <interface>lan</interface> 
  <protocol>tcp</protocol> 
- <source>
  <network>lan</network> 
  </source>
- <destination>
  <any /> 
  </destination>
  <direction /> 
  <iplen /> 
  <tcpflags /> 
  <descr>All other traffic is more important than ftp etc</descr> 
  <targetpipe>0</targetpipe> 
  </rule>
- <pipe>
  <bandwidth>430</bandwidth> 
  <descr>Upload bandwidth limitation</descr> 
  </pipe>
- <queue>
  <targetpipe>0</targetpipe> 
  <weight>10</weight> 
  <descr>Important traffic</descr> 
  </queue>
- <queue>
  <targetpipe>0</targetpipe> 
  <weight>1</weight> 
  <descr>Low importance traffic</descr> 
  </queue>
- <queue>
  <targetpipe>0</targetpipe> 
  <weight>20</weight> 
  <descr>Really important traffic</descr> 
  </queue>
  <enable /> 
  </shaper>