Wi-Fi Castle

Pro-Am Networking

Exchange 2010 Error 451 4.4.0 Error DNS Query Failed

We’ve seen this happen at two environments recently. Both with Small Business Server 2011 running Exchange 2010 SP1 Rollup 3-v3 and 4. Our service provides monitoring of the Exchange server; however, we don’t have an eye on the queues. So, no alarms go off when a message is delayed.

When logging on to the Exchange Server and looking at the Outbound queues, we noticed mail for only a particular domain being held with the 451 4.4.0 Error DNS Query Failed error. Other symptoms:

1.  The nslookup command run on the Exchange server could resolve the domain, proving the internal DNS server was normal.
2.  After gaining the MX record from who.is, the nslookup command resolved the mail server’s IPv4 address, proving the receiver’s mail server was resolvable.
3.  A telnet session to the MX record successfully contacted the suspected domain’s mail server on port 25.
4.  Internal email delivery was functioning.
5.  All other external mail delivery was functioning.

Now we’re down to Exchange itself, since everything DNS related on the server is working correctly. This is the current fix we use:

Change the Network properties of the Edge Transport Server. In this case, it’s the same one.

Step 1: Configure and External DNS server

  1. Click Server Configuration
  2. Right click the server and choose properties
  3. Click The External DNS Lookup tab
    1. Choose Use these DNS servers
    2. Add the DNS Server IPv4 address
    3. Click Apply

Configure an External DNS address

Step 2: Configure the Hub Transport to use the External DNS for external domains.

  1. Click on the Hub Transport of Organization Configuration
  2. Choose Send Connectors
  3. Right click the connector and choose properties
  4. Click the Network Tab
  5. Check the Use External DNS Lookup… box

Configure Exchange to use an External DNS

  1. Restart the Transport Service

The queue should empty immediately.

We’re not sure why this is happening. We theorize it has to do with conflicting or corrupt DNS data being sent back on either the IPv4 or IPv6 stack to the internal DNS server. With this fix, we’re just telling Exchange to bypass the internal DNS for an external one for outbound mail that isn’t delivered to its domain.

Other fixes that may help:

1. Flush the DNS caches on the internal DNS servers and the Exchange server.
2. Add a Forwarder to the internal DNS server. I’m not a big fan of this one as the Root Forwarders should be sufficient. It did work at one site, though.

Advertisement

8 Responses to Exchange 2010 Error 451 4.4.0 Error DNS Query Failed

  1. joking611 July 25, 2011 at 06:39

    Were the MX records for the unresolvable domains appearing in your local DNS cache?

    • wfcastle33 July 27, 2011 at 16:55

      I did not verify the cache. However, nslookups were successful from the Exchange server’s command prompt. MX records responded to pings and SMTP send commands were successful from the server.

  2. Jeremy August 8, 2011 at 15:05

    Try a query for the AAAA record the MX lookup returns. We just ran into an issue similar to this, and I suspect it’s the same issue you are seeing.

    Scenario: Several Exchange 2010 sites could not deliver mail to our MX hosts, they were reporting delays (which would eventually bounce) due to DNS failures.

    Upon investigation I found, like you, that the query for the MX server was successful. Per RFC, the host provided by the MX record MUST be resolvable by either an A or AAAA record. Ours only had an A record. Exchange 2010 seems to default to lookup an AAAA record first. Watching the DNS traffic on our site, I saw the sites that were having issues delivering were not doing an A record query they were doing a query for an AAAA record.

    We did not have an IPv6 AAAA record configured for our mx hosts. Our DNS server was returning a SERVFAIL for the query. According to RFC a sending server that receives a failed DNS query MUST defer the mail. Unfortunately, it’s my opinion that both parties are playing by the RFC technically.

    What we did to correct this issue (remember I am the receiving domain side) was tell our DNS servers to return a NOERROR for the AAAA query instead of a failure. This immediately resolved the issues.

    I suspect that you could tell your Exchange 2010 environment to not use IPv6 DNS resolution and that would also fix the error.

    To verify this is the issue you are seeing, attempt a query for the AAAA record of the mx host received. If you get a SERVFAIL, that’s probably the issue you are seeing.

    $ nslookup
    > set type=AAAA
    > smtp.domain.org
    ;; Got SERVFAIL reply from 1.2.3.4, trying next server
    Server: 1.2.3.4
    Address: 1.2.3.4#53

    ** server can’t find smtp.domain.org: NXDOMAIN

  3. jeremyhopkins August 8, 2011 at 15:13

    Try a query for the AAAA record the MX lookup returns. We just ran into
    an issue similar to this, and I suspect it’s the same issue you are
    seeing.

    Scenario: Several Exchange 2010 sites could not deliver mail to our MX
    hosts, they were reporting delays (which would eventually bounce) due to
    DNS failures.

    Upon investigation I found, like you, that the query for the MX server was
    successful. Per RFC, the host provided by the MX record MUST be
    resolvable by either an A or AAAA record. Ours only had an A record.
    Exchange 2010 seems to default to lookup an AAAA record first. Watching
    the DNS traffic on our site, I saw the sites that were having issues
    delivering were not doing an A record query they were doing a query for an
    AAAA record.

    We did not have an IPv6 AAAA record configured for our mx hosts. Our DNS
    server was returning a SERVFAIL for the query. According to RFC a sending
    server that receives a failed DNS query MUST defer the mail.
    Unfortunately, it’s my opinion that both parties are playing by the RFC
    technically.

    What we did to correct this issue (remember I am the receiving domain
    side) was tell our DNS servers to return a NOERROR for the AAAA query
    instead of a failure. This immediately resolved the issues.

    I suspect that you could tell your Exchange 2010 environment to not use
    IPv6 DNS resolution and that would also fix the error.

    To verify this is the issue you are seeing, attempt a query for the AAAA
    record of the mx host received. If you get a SERVFAIL, that’s probably
    the issue you are seeing.

    $ nslookup
    set type=AAAA
    smtp.domain.org
    ;; Got SERVFAIL reply from 1.2.3.4, trying next server
    Server: 1.2.3.4
    Address: 1.2.3.4#53

    ** server can’t find smtp.domain.org: NXDOMAIN

  4. dannyo77 August 30, 2011 at 21:32

    Excellent and logical work around – thanks!

  5. Ben November 14, 2011 at 13:35

    I had the same issue and this resolved it.. Thanks!

  6. Mark February 16, 2012 at 09:16

    Worked for me! I just did step 2 and the mail queues emptied. I spend 3 days solid working on this with no joy.
    Thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.