[clug] Single MX, multiple A records

Michael James michael at james.st
Fri Aug 1 04:43:02 GMT 2008

On Fri, 1 Aug 2008 Michael James suggested:
> > rather than have a single MX with multiple IP numbers
> > I think a better DNS setup is to have multiple MXs, 
> > then the specified behaviour for a mail sender
> > is to work up the list till one accepts (or rejects) the mail.

On Fri, 1 Aug 2008 01:48:28 pm Daniel Pittman wrote:
> Your theory here does not reflect the option for listing multiple MX
> hosts at the same priority level, in which case you face exactly the
> same situation save in a protocol specific context.
Multiple MXs at the same priority was the option I was thinking about.
Wouldn't senders order the equal MXs at random within the list?

> (SMTP does handle than sensibly, by spec, though.)
Exactly, the specified behaviour of an MX list is,
 Keep working up the list until one succeeds or you run out.
So if some target mailhosts are down, it doesn't matter,
 in a single run through the mail queue
 if one receiver works, the sender will find it.
OTOH if we give the sender an excuse to say,
 "connection failure, transient fault",
 then the mail goes back on the queue
 and we will be waiting till the next run at least.

> They still work as they did, though,
> and for a store-and-forward protocol like SMTP
> where there is *no* chance of mail loss
> due to connection failure, it isn't an unreasonable choice.

But a deterministically repeated transient error is the *worst* case.
The server will keep trying for (typically) 7 days,
 then return the mail as undeliverable to the sender.
I don't get my mail, and for 7 days the sender doesn't even know.
So whether any clients choose an IP deterministically,
 determines whether I get my mail or not.
> DNS Round Robin performance or redundancy works, but not as well as more
> modern solutions that provide multiple systems behind a single IP, and
> so have (sensibly) fallen out of vogue.

DNS hosting is different from say providing an airline booking system.
With such a simple largely read-only database
 we have the luxury of spreading servers across the world.
Gives us immunity from computer room fires,
 state-wide network blackouts, etc.
Short of having massive control of backbone links
 I can't imagine how you could do this with a single IP.


There is no perl one line hack
 that a page of java won't do more elegantly.

More information about the linux mailing list