I'm wondering if there is a way to control the time required before an NXDOMAIN response is given. It seems to me that if a query is made for a record that doesn't exist, it takes 3 seconds before the server replies with NXDOMAIN. This appears to be the case in both Windows Server 2008 R2 and Windows Server 2012 R2. I have a packet capture below. For the purposes of my question, my server is authoritative for example.com and example2.com:
09:13:06.846116 IP 10.200.242.165.49505 > 10.200.1.13.53: 33831+ A? asr-1.example.com. (46)
09:13:09.855028 IP 10.200.1.13.53 > 10.200.242.165.49505: 33831 NXDomain* 0/1/0 (112)
I pinged a host that I knew did not exist, but it seems to have taken a full 3 seconds before telling me it didn't exist (from 09:13:06 to 09:13:09). Lest you think it's forwarding somewhere to resolve asr-1.example.com, I get the same result if I do nslookup -norecurse asr-1.example.com.
Just to show you that the server is indeed fast, here's a packet capture output from where I looked up the host on its actual domain:
09:13:09.855416 IP 10.200.242.165.49542 > 10.200.1.13.53: 47128+ A? asr-1.example2.com. (46)
09:13:09.855889 IP 10.200.1.13.53 > 10.200.242.165.49542: 47128* 1/0/0 (62)
That is a 0.4 millisecond response... so it's not that my DNS server is slow.
So... is there a way to configure the DNS server to not wait so long to return an NXDOMAIN response for a domain that it's authoritative for?