Are they getting there but the queries are being blocked on the return? What do your /var/log/messages error logs say?
Yet another development:
TCP DNS queries work just fine, as confirmed by getting a response by issuing dig +tcp @server_ip
UDP queries are not even getting to the server.
No the UDP queries aren't even reaching the server according to the packet capture. There's nothing about it in messages.
I bought the domain through godddy. I set up host records pointing to my server and then set the DNS to those records. Godaddy requires 2 DNS servers, but I have both of them pointing to the same IP.
It times out, which makes sense, because the root servers should be pointing at my name server, which isn't accepting udp queries.
However when I try a tcp query to a different public dns server it times out.
This is what it does if I force dig to use my nameserver.
; <<>> DiG 9.4.3-P1 <<>> +tcp @18.104.22.168 d45h.net
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36913
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; QUESTION SECTION:
;d45h.net. IN A
;; ANSWER SECTION:
d45h.net. 86400 IN A 22.214.171.124
;; AUTHORITY SECTION:
d45h.net. 86400 IN NS ns2.d45h.net.
d45h.net. 86400 IN NS ns1.d45h.net.
;; ADDITIONAL SECTION:
ns1.d45h.net. 86400 IN A 126.96.36.199
ns2.d45h.net. 86400 IN A 188.8.131.52
;; Query time: 103 msec
;; SERVER: 184.108.40.206#53(220.127.116.11)
;; WHEN: Mon Jan 4 11:33:55 2010
;; MSG SIZE rcvd: 110
So it turns out I was wrong about the ISP. They block all DNS traffic from any IP outside their network. They were having trouble with DoS attacks, so they just blocked it all together at the Edge.