I'm running a mail server, Smartermail (SM) on Windows 2012 Essentials. The server is also doing DNS, but has no other roles. The DNS server is using the root hints and has no forwarders configured.
As part of spam checks, SM is configured to check a bunch of RBLs and URIBLs. However, after a few hours, I cannot query anything on Spamhaus (zen.spamhaus.org, rbl.spamhaus.org) unless I clear the cache on my DNS server. It is a low volume server with only a few thousand messages a day so I do not think I'm breaking their TOS. Every other RBL I check continues to work fine and I can continue to query other domain names as far as I can tell.
I'm scheduling a task so that the DNS server clears it's cache every 2 hours, but that is just a band-aid. I feel like there's a problem with either my DNS server settings or possibly my firewall. Any ideas why I would have to clear the cache to be able to query Spamhaus again?
Most RBLs have a maximum on the number of queries which can be performed from a particular DNS server in a 24 hour period. The maximum varies between 100 and 200K queries per day, so you can see how using a public DNS server might quickly go beyond that maximum.
Even a low-volume MX server can exceed some of the RBL deny thresholds quickly.
It is highly recommended that you run your own DNS and use that DNS as the RBL query reference to prevent hitting the 24 hour maximum.
See my response to this issue in the SmarterMail Community Thread, "Weird Issue with Spamhaus.org RBLs" at: http://portal.smartertools.com/community/a276/weird-issue-with-spamhaus_org-dbls.aspx