Ok, so this error message has been a royal PITA for me today. I’ve ran through numerous MS Knowledgebase articles, multiple forums, and all to no avail. The problem arose when an ASP script using CDONTs to send mail ended up placing all messages in the “Queue” directory… with no further processing. The solution: Live life by packet captures.
Oh, and make sure you’re reading them correctly.
It turns out Windows 2000 server (used for a webserver in this instance), performs DNS queries via TCP instead of UDP. The DNS servers that it was configured to use apparently had some issue – made evident by numerous TCP retransmits, and no actual query responses in any packet captures. Of course, nslookup uses UDP for DNS resolution – and UDP requests resolved fine.
Dig supports tcp queries using the +tcp flag. A simple query made it obvious that things were borked:
kovacs2 ~ $ dig +tcp -t a www.braindeadprojects.com @goofyassednameserver
; <<>> DiG 9.5.0-P2 <<>> +tcp -t a www.braindeadprojects.com @goofyassednameserver
;; global options: printcmd
;; connection timed out; no servers could be reached
I’ve scoured the net looking for a way to set Win2k to only use UDP DNS queries, to no avail. The real solution though is to fix the nameservers, which restarting the service did without issue.
I really wasted WAY too much time on this dumb issue. In retrospect, I would have installed Wireshark sooner, and performed a more controlled packet capture. Part of my problem was that I was actively using nslookup during packet captures, and not reading the captures thoroughly.
Request,response,request,response, request, response… all the while not noticing that TCP requests never received a response. RTFPcaps friends!