complex linux QoS problem

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

 



Hi.

I have a few problems I have encountered with QoS and an off the wall
question about IP accounting. First My QoS question. I'll start off with
describing the LAN environment and exactly what I want to do.

3 Networks physically separated, but joined together and routed together
by the NAT server (on address eth2 == 10.0.0.254, eth0 == 10.0.1.254,
eth1 ==10.0.2.254) ((reason for eth0 not at 10.0.0.0 is because we were
not the first company in the building to use the 10.X.X.X network)).

eth0 has 2 IPs (eth0 and eth0:0) and is the gateway device to the real
internet. It's internet IP is 100.100.100.2 (yeah that's not my real IP
but for argument sake it will be :).  The deal here is that we have a
lil' T1 and the 2 other companies that wish to buy access. But I don't
need them using the whole T1 so I wish to use QoS to slow them down. I
came across cbq.init and it works fine for most part.  I opted to give
them 384K a piece and even set up 3 classes for 28.8K 56K and 128K for
local speed testing on various sites we develop on our intranet
(10.0.1.0).

Also keep in mind that all 3 networks share data. Especially all the
MP3's that site on the NAT server (it's running samba).  Netfilter does
nice job routing between all 3 LANs and very happy with things. There
are 2 things that I need to modify to make things even more smooth. 

1.)I wish to set up QoS to not throttle any packets with a
destination/origin for any local intranet IPs or the main real IP
network. But to throttle any packets that come in/out the T1. Now to do
this I believe that I need to use netfilter to 'mark' and packets that
meet this criteria, and filter them to the correct QoS class.  I believe
this can be easily done and I need to research how it is done. If anyone
has done this and can send me an example or two, it would be very much
appreciated.

2:) Now this is the tough one.  Originally I wish to have the 2 other
LANs (eth1 and eth2) share one class of bandwidth with 80K worth of
bandwidth each. I wanted them to have a minimum of 40K/sec any anyone
point in time but to much of each other where possible. This would be
ideal since they don't use the bandwidth at the same times during the
day and I was even going to go as far as to have our intranet use what
ever is left out of that 80K they have shared. And in the off hours give
every one full speed, but this is extra if the first works.
 
after much configuration and trial and error I came to the conclusion
that  this is impossible since each class relies on a device. And only
applies if for example the IP block that it throttles is coming in on
the ether device that  the network is on. (basically, I can't make 3
different QoS classes all on eth0 to throttle the 10.0.0.0 10.0.2.0,
only the 10.0.1.0 would work even though all data is eventually going
though eth0 (but in the form of 100.100.100.2)).  I suppose you could
create a CBQ class that works off of marked packets but what interface
would this be on? 

So basically for an easy run down of things. I wish to have eth1 and
eth2 share one Class of 80K worth of data and not to be throttled if the
data is internal network bound.

And for my off the wall question. I want to do IP accounting on a per IP
basses. We didn't sign off on the router so we don't technically own the
Cisco 1720. I also called my uplink and they said it wouldn't work on an
IP basis, just line passes. Are they wrong? Or  is there  another way
besides punching whole thought a NAT box and passing all data to it
making it look like it's on the real IP network and account for all data
sent/received at that point? Possibly an sniffer or something? :) 

Thank you for reading and attempting to understand my situation. Any
input would be great. Thanks again

-- 
Jason Czerak


-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux