Equally weighted MX records issue - OK on Windows 2003 but not Windows 2000

P

Phil Wright

Hi,

For some reason our MS DNS Servers on Windows 2000 servers are not
alternating the order that equally weighted MX records are returned to the
client. Below is an example of continuing NSLOOKUPs against a Windows 2000
DNS Server:

C:\Documents and Settings\Administrator>nslookup
*** Can't find server name for address 192.168.0.1: Non-existent domain
Default Server: UnKnown
Address: 192.168.0.1
set type=mx
domain.com
Server: UnKnown
Address: 192.168.0.1

DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200
domain.com
Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200
domain.com
Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200


However if the same queries are performed using a Windows 2003 DNS Server we
get the expected results (MX records are alternated after each query):

C:\Documents and Settings\Administrator>nslookup
*** Can't find server name for address 192.168.0.1: Non-existent domain
Default Server: UnKnown
Address: 192.168.0.1
set type=mx
domain.com
Server: UnKnown
Address: 192.168.0.1

DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200
domain.com
Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail2.domain.com
domain.com MX preference = 20, mail exchanger = mail1.domain.com

mail2.domain.com internet address = 192.168.0.200
mail1.domain.com internet address = 192.168.0.100
domain.com
Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200


This is becoming a real problem as we are sending quite a few mails to these
domains and they are always being sent to the same mail server which is
eventually being overloaded. Does anyone know how to make the Windows 2000
DNS server alternate it's returned records as it should do ?

thanks,

Phil.
 
K

Kevin D. Goodknecht [MVP]

In
Phil Wright said:
Hi,

For some reason our MS DNS Servers on Windows 2000 servers are not
alternating the order that equally weighted MX records are returned
to the client. Below is an example of continuing NSLOOKUPs against a
Windows 2000 DNS Server:

C:\Documents and Settings\Administrator>nslookup
*** Can't find server name for address 192.168.0.1: Non-existent
domain Default Server: UnKnown
Address: 192.168.0.1

Server: UnKnown
Address: 192.168.0.1

DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200

Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200

Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200


However if the same queries are performed using a Windows 2003 DNS
Server we get the expected results (MX records are alternated after
each query):

C:\Documents and Settings\Administrator>nslookup
*** Can't find server name for address 192.168.0.1: Non-existent
domain Default Server: UnKnown
Address: 192.168.0.1

Server: UnKnown
Address: 192.168.0.1

DNS request timed out.
timeout was 2 seconds.
Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200

Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail2.domain.com
domain.com MX preference = 20, mail exchanger = mail1.domain.com

mail2.domain.com internet address = 192.168.0.200
mail1.domain.com internet address = 192.168.0.100

Server: UnKnown
Address: 192.168.0.1

Non-authoritative answer:
domain.com MX preference = 20, mail exchanger = mail1.domain.com
domain.com MX preference = 20, mail exchanger = mail2.domain.com

mail1.domain.com internet address = 192.168.0.100
mail2.domain.com internet address = 192.168.0.200


This is becoming a real problem as we are sending quite a few mails
to these domains and they are always being sent to the same mail
server which is eventually being overloaded. Does anyone know how to
make the Windows 2000 DNS server alternate it's returned records as
it should do ?

thanks,

Phil.

Equaly weighted MX records are not alternated by DNS. When a mail server get
two MX records for the same domain that are equaly weighted the SMTP server
is supposed to use random order in connecting to the mail servers as per
RFC1123 5.3.4.
In fact DNS does not use the priority number, SMTP servers use the number in
connection priority.
 
A

Ace Fekay [MVP]

Equaly weighted MX records are not alternated by DNS. When a mail server get
two MX records for the same domain that are equaly weighted the SMTP server
is supposed to use random order in connecting to the mail servers as per
RFC1123 5.3.4.
In fact DNS does not use the priority number, SMTP servers use the number in
connection priority.

--

I agree, it depends on the actual SMTP server that is doing the querying. It
will take a random pick with the responses given by DNS.

--
Regards,
Ace

Please direct all replies to the newsgroup so all can benefit.
This posting is provided "AS-IS" with no warranties and confers no
rights.

Ace Fekay, MCSE 2000, MCSE+I, MCSA, MCT, MVP
Microsoft Windows MVP - Active Directory
 
P

Phil Wright

So how come they are being rotated when I do an mx lookup a few times in a
row as per my example ?

Phil.
 
K

Kevin D. Goodknecht [MVP]

In
Phil Wright said:
So how come they are being rotated when I do an mx lookup a few times
in a row as per my example ?
Co-incidence maybe, it is the SMTP servers responsibility to connect to the
correct SMTP server.

SMTP asks DNS for MX record(s) for given domain-->DNS give SMTP all MX
records for given domain. At that point SMTP is done with DNS for that
domain, most SMTP servers even have their own cache.

SMTP connects to receiving SMTP server in order of priority of the record,
if the record has equal weight SMTP is supposed to connect randomly, if the
receiving SMTP server does not respond it connects to the other SMTP server.
If the other SMTP server does not respond the mail is put in queue for later
delivery.

If one SMTP server seems to be getting the bulk of the mail on equally
weighted MX, that is a sign that the second SMTP server is slow to respond
for some reason, not DNS related.
 
P

Phil Wright

I don't think it's a coincidence - if I disable the DNS caching on the
Windows 2000 DNS Server and perform the same repeated nslookups then
alternate MX records are returned. There seems to be an issue over how
Windows 2000 and Windows Server 2003 handle their DNS caching - differently.

Phil.
 
A

Ace Fekay [MVP]

In
Phil Wright said:
I don't think it's a coincidence - if I disable the DNS caching on the
Windows 2000 DNS Server and perform the same repeated nslookups then
alternate MX records are returned. There seems to be an issue over how
Windows 2000 and Windows Server 2003 handle their DNS caching -
differently.

Phil.


If using nslookup, it doesn't rely on the system's DNS caching. So you can't
compare a ping to what nslookup is giving you. Tell you what, why not use a
better tool to test this, like DIG or even better, NetDig, written by
William Stacey, MVP: (free):
http://www.mvptools.com/

--
Regards,
Ace

Please direct all replies to the newsgroup so all can benefit.
This posting is provided "AS-IS" with no warranties and confers no
rights.

Ace Fekay, MCSE 2000, MCSE+I, MCSA, MCT, MVP
Microsoft Windows MVP - Active Directory
 
J

Jonathan de Boyne Pollard

PW> I don't think it's a coincidence [...]

Nonetheless, as Kevin and Ace have both told you, it's irrelevant.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top