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.