RE: [LARTC] ROUTING, POSTROUTING, & Traffic Control

Linux Advanced Routing and Traffic Control

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

 



Martin,

Thanks for the pointers.

I may have been too quick to suggest a "solution" before describing the
problem I'm having. More specifically: machine A is an outbound emailer and
machine B runs a website. When A is sending at high volume it can take up to
30 seconds to get an HTTP response from machine B. I naively assumed the
solution was to install more NIC cards and build separate "channels" for A &
B.

Here's my current setup:

          64.41.183.130 (eth0)
          64.41.183.131 (eth2)
                FW
           192.168.1.8 (eth1)
                 |
               /   \
              /     \
             /       \
            A         B
     192.168.1.26    192.168.1.17

As for iptables, I currently include these two statements:

-A PREROUTING -i eth0 -d 64.41.183.130 -p tcp -m tcp --dport 80 -j
DNAT --to-destination 192.168.1.17:80
-A PREROUTING -i eth2 -d 64.41.183.131 -p tcp -m tcp --dport 25 -j
DNAT --to-destination 192.168.1.26:25

which presumably routes web traffic coming in on eth0 to the web server
(machine B) and which routes smtp traffic coming in on eth1 to the email
server (machine A). ASSUMING this is correct, I'd like to be able to turn
this around and map outbound traffic from A through 64.130.183.130 and
outbound traffic from B through 64.130.183.131. Another naive assumption I
have made is that eth1 could become a chokepoint and I could add eth3 with
IP 192.168.1.9. So, that when everything was done, I would have these 2
channels:

A <-> 192.168.1.8 <-> 64.131.183.131   (handles all inbound/outbound smtp
traffic)

                 AND

B <-> 192.168.1.9 <-> 64.131.183.130   (handles all inbound/outbound http
traffic)

I hope that provides enough details for you.

Thankyou,

Jeff



-----Original Message-----
From: Martin A. Brown [mailto:mabrown-lartc@xxxxxxxxxxxxxx]
Sent: Monday, February 17, 2003 10:11 AM
To: Jeff Cordova
Cc: lartc@xxxxxxxxxxxxxxx
Subject: Re: [LARTC] ROUTING, POSTROUTING, & Traffic Control


Jeff,

[I rearranged your question a bit.]

 : Can I do this? If possible, can someone please give explicit details.

Yes.  In order to help you more, we'd need to know IP addresses, and also
a bit more about why you think you need to add more NICs.  Depending on
what your answer is to that question, we can make a recommendation on
whether you should simply use tc/fwmark with your existing hardware
configuration to perform your traffic control or whether you really need
to have more physical devices.

 : I have 2 machines (A & B) behind a Linux Firewall (FW).
 : I have 2 ethernet cards on the FW - eth0 talks to the internet, eth1
talks
 : to machines A & B.
 : Machine A has lots of inbound & outbound traffic while machine B doesn't.
 : It seems reasonable that I could add 2 new ethernet cards (eth2 & eth3)
to
 : the FW and by configuring iptables and/or routing tables force traffic on
A
 : to be handled by eth0/eth1 and traffic for B to be handled by eth2/eth3.

If you are looking at reserving a certain amount of bandwidth for machine
B while still allowing machine A the lion's share of the bandwidth, you
are looking at a simple HTB setup on your eth0.

I'd recommend reading up on HTB, queuing and so forth on the following
sites for documentation:

  http://lartc.org/howto/      # -- broad docs on linux traffic control
  http://www.docum.org/        # -- more hands on docs (and intro)

HTB software:

  http://luxik.cdi.cz/~devik/qos/htb/

In short, you can use "tc filter" to select based on fwmark, source
address, destination address, and a number of other criteria.  This will
allow you to place traffic from machine A or machine B into a particular
class, thus reserving bandwidth for each one.

Is that what you were looking for?

Good luck,

-Martin

--
Martin A. Brown --- SecurePipe, Inc. --- mabrown@xxxxxxxxxxxxxx



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