[EXIM] How to integrate Exim behind a load-balancing unit ?

Page principale
Supprimer ce message
Répondre à ce message
Auteur: James FitzGibbon
Date:  
À: exim-users
Sujet: [EXIM] How to integrate Exim behind a load-balancing unit ?

I'm trying to solve a problem I'm having putting two exim boxes behind a
load balancer. The network topology looks like this:

Internet  ---    Load Balancer   ---    mail1.tor.accglobal.net
                    mail2.tor.accglobal.net


The load balancer has a single internet facing address: 204.92.55.103. The
mail servers have no internet facing address, but are connected to the load
balancer via a private ethernet network.

The problem is thus: let's say we have DNS entries like this:

lb.tor.accglobal.net        IN    A    204.92.55.103
smtp-backup.accglobal.net    IN    A    204.92.48.15


company.com            IN    MX    0 mail.company.com
                IN    MX    10 lb.tor.accglobal.net
                IN    MX    20 smtp-backup.accglobal.net


Now, somebody sends a message to company.com, whose mail server is down
right now. The message is sent to lb.tor.accglobal.net and arrives at one of
the two mail servers. The lookuphost router checks DNS, gets the MX as
listed above, and here's where the problem starts.

The address for lb.tor.accglobal.net is on the load balancer, not on the
mail boxes. Exim looks up MX, and while I would like it to go "ah, the load
balancer is really me, so I'll throw out the entry for lb.tor.accglobal.net
and anything that comes after it", it attempts to connect to
lb.tor.accglobal.net, possibly hitting it's sibling server, possibly itself.
In any case, this continues until the maximum hop count has been exceeded,
and the message bounces.

What I'm trying to do is make exim realize that although it's not in DNS, it
should consider the IP address 204.92.54.103 (or alternatively the hostname
lb.tor.accglobal.net) as it's own. That way, lookuphost would work the way
it's supposed to.

I've tried adding it to the local_interfaces statement, but this causes exim
to spin around for a few minutes, failing to bind the interface and
eventually dying. Putting lb.tor.accglobal.net in local domains didn't get
me very far either.

I tried adding 204.92.54.103 as a virtual IP on the machine's interface, but
that got the mail server into an ARP storm fight with the load balancer. I
do have an unused ethernet port on the mail servers; I suppose that I could
give that the address of 204.92.54.103/32 but never plug a cable into the
port. Still, that seems like a waste.

Is there something obvious I'm missing here WRT configuration ?

--
j.

James FitzGibbon                                                james@???
System Engineer, ACC Global Net                   Voice/Fax (416)207-7171/7610



--
*** Exim information can be found at http://www.exim.org/ ***