I have a farm of qmail servers sitting behind a load balancer.  I'm
having a problem with being a secondary MX for a domain, because the
individual qmail servers in the farm don't realize that the IP address
of the load balancer actually points to them.  They keep trying to
re-deliver to the load balancer's address, which connects them back to
a different mail server within the farm, which does the same thing,
until the message bounces because of too many hops.

Is there a patch that will let me add addresses to the ipme structure
that qmail uses to determine whether the MX record for a host is
actually itself?

Reading back over that, it's a little confusing.  Here's an example.

I have 25 qmail servers, 10.0.0.1 through 10.0.0.25.  The load
balancer, which will semi-randomly select one of the actual servers to
pass the connection on to, has an address of 1.2.3.4.  Domains for
which we are a secondary MX have a less preferred MX record that
points to 1.2.3.4.

When a message comes in to be queued, it comes in to 1.2.3.4, which is
redirected to (for example) 10.0.0.5.  The domain is in its rcpthosts,
but not its locals, so 10.0.0.5 tries to forward it on to the next
best-preference MX.  It tries to connect to the primary MX, fails, and
then tries to connect to the secondary, 1.2.3.4.  It doesn't realize
that it is already handling mail for 1.2.3.4, so it opens up another
connection to 1.2.3.4, which redirects it to (for example) 10.0.0.16.
This process repeats until the message bounces.

I'm looking at patching ipme.c and giving it a config file, but it
seems to me that somebody must have already done this.

Can anybody point me in the right direction?  I'm using
qmail-1.0.3+ldap.

Thanks,

------ScottG.

Reply via email to