QoS script for gw without NAT?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'll take it from the begining... About one year ago I only had 1 IP and
used wondershaper. It worked great. Now I got /27 (32 IPs) and a gw
computer that talks to two ISPs via a two tunnels. See:
http://www.flashdance.cx/pics/flashdance-LAN.png

I _really_ have a need to do QoS on my connection, for example I host
websites that uses all available upstream. When I download at the same time
it cant respond to ACK's fast enough so get very slow download speed. Its
also ADSL that I got so I got nice long buffers at my ISPs DSLAMs that
shouldnt be filled.

I have tried to figure out how to write QoS rules that did what I wanted,
it didnt work very well. My gw have over 100 TCP connections every given
moment and there is bunch of people that will be affected (not counting
web/ftp/mail/dns requests) if it goes down or misbehaves. So I dont have
any desire to play with QoS to much on the gw box. I have tried to search
for a QoS script that I could modify and use but more or less ALL scripts
expects that you are using NAT (which Im not, I hate NAT. Guess why I got
32 real IPs) or just got one computer. All scripts that I have found
does QoS based on port, not IP. I use different IPs for different services,
so I wanna do QoS based on IP, not the port.

What I need is a script that sets a high priority on ACK's, all UDP traffic
by default. Then I want to have different priority on diffrent IPs, all IPs
should have a max available and a min available bandwidth that they could
use, in case all upstream bandwidth are used (thats the normal condition).
And, that works when there is a computer that are a gateway that just
forwards all traffic from one interface to an other. Basicly, Im asking
if someone got a such script for me that I could use as a base and just
add which IPs that should have so or so max and min bandwidth? I cant be
the only one on earth that would be needing a such thing. This is the first
question.

The second question is, which interface should I do QoS on?

My gw computer (are using FC3, Linux 2.6):

eth0  = my LAN
eth1  = ISP1
eth2  = ISP2
tun0  = tunnel that goes over ISP1
tun1  = tunnel that goes over ISP2
teql0 = the upstream of ISP1 and ISP2 added together, later splits into
        tun0 and tun1

computer at my LAN -> eth0 -> teql0 -> tun0 -> eth1
(one example of how a packet would go...)

Question is: Should I do QoS at eth0? At eth0 and teql0? Just teql0?

Help is highly appreciated.
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux