|
Lazy DNS
By A.P. Lawrence
Expert Author
Article Date: 2007-10-04
I had a call this morning from a customer who wanted me to come down because their mail server was broken.
They had experienced an ISP outage, which subsequently was fixed, but their mail server wasn't getting anything still.
I was actually ready to go out the door when I thought to just double check reality, and that check kept me sitting right here:
$ dig +short xyz.com mx
10 mail.xyz.com.xyz.com.
20 mail2.xyz.com.xyz.com.
Ooops.. that certainly can't be right. I told the client that his MX records were munged, but he came back with a screen from the DNS providers tools that seemed to show them correctly. It looked something like this:
| MX Records | | mail.xyz.com | | mail2.xyz.com |
I told him to try taking out the ".xyz.com", but he said the tool told him that was invalid.. at which point I smiled to myself and knew what he had to do.
Do you know what he needed to do to fix this?
Answer
I told him to do this:
| MX Records | | mail.xyz.com. | | mail2.xyz.com. |
That is, simply add a "." after "xyz.com". If you have ever edited DNS files manually, you know why I similed and why I titled this "Lazy DNS": at the text file level, if you leave off the period from a definition like this, the assumption is that the base domain name needs to be tacked on. So this DNS tool is "lazy" : it expects the MX records to be formatted exactly as they need to be put in the raw file. Any halfway decent programmer would have done minimal checking and reformatting to easily avoid this error by the user, but that checking does not exist here.
This of course fixed the problem after the records propagated:
$ dig +short xyz.com mx
10 mail.xyz.com.
20 mail2.xyz.com.
*Originally published at APLawrence.com
About the Author: A.P. Lawrence provides SCO Unix and Linux consulting services http://www.pcunix.com
|
|