On 2009-11-05 at 03:31 +0000, d.hill@??? wrote:
> I have an Exim 4.69 test server running as a gateway (filter server)
> which filters and passes messages onto our internal server. I have
> been periodically getting a few messages frozen with the error:
>
> sample@???: lowest numbered MX record points to local host
>
> The MX records for spis.net are set up as such:
>
> spis.net. 3600 IN MX 10 smtpgate.ndunet.com.
> spis.net. 3600 IN MX 10 smtpgate.yournetplus.com.
> spis.net. 3600 IN MX 20 smtpgate.ndunet.com.
>
> smtpgate.yournetplus.com happens to be the server these errors are
> occuring on.
>
> I believe this has something to do with how the router section is set
> up but can not pinpoint what. Here is the router section:
>
> begin routers
>
> relay_to_domains:
> driver = manualroute
> transport = remote_smtp
> route_data = ${lookup{$domain}lsearch{/usr/local/etc/exim/relay_to_domains}}
> ignore_target_hosts = +bad_host_addresses
>
> dnslookup:
> driver = dnslookup
> domains = ! +local_domains
> transport = remote_smtp
> ignore_target_hosts = +bad_host_addresses
> no_more
So the lowest-numbered MX complaint is coming from the dnslookup Router.
Therefore mail was not accepted by your relay_to_domains Router where
you are the primary MX.
Are there domains for which you are the MX where the domain does not
occur in relay_to_domains?
Are there domains in relay_to_domains which does route to RFC1918
address space? Your ignore_target_hosts restriction makes lots of sense
on a DNS lookup but less sense on a manualroute Router (depending on
where the input data comes from).
You provide a fabricated example bounce -- have you actually seen a
bounce for that domain, when it was present in the relay_to_domains file
with an address not in RFC1918?
What is the process by which /usr/local/etc/exim/relay_to_domains is
updated? Is there a race condition where the file is replaced by an
automatic process which unlinks one file and then links in the new
content, so that if Exim is trying to read it at that time then the file
does not exist? Do you have revision histories of the content of this
file to be sure that spis.net has not temporarily disappeared (assuming
automated processes maintain it)?
The debugging question is "When is a domain with lowest MX pointing to
me not listed in relay_to_domains with an acceptable IP?"
-Phil