You are missing both "ns1" and "ns2" A records within the "provisionhk.com" zone. This will fix both domains.
(the only reason some can resolve both domains, some can only one of them and some can't resolve both is because they are using different clients, operating systems and nameservers).
I spend my day trying to help with this common error, so this time I'll explain a little bit:
Code:
$ dig +trace +additional provisionhk.com
[...]
provisionhk.com. 172800 IN NS ns1.provisionhk.com.
provisionhk.com. 172800 IN NS ns2.provisionhk.com.
ns1.provisionhk.com. 172800 IN A 220.232.203.106
ns2.provisionhk.com. 172800 IN A 220.232.203.106
;; Received 101 bytes from 192.12.94.30#53(E.GTLD-SERVERS.NET) in 58 ms
;; connection timed out; no servers could be reached
$ dig +trace +additional jr-art.hk
[...]
jr-art.hk. 28800 IN NS NS2.PROVISIONHK.COM.
jr-art.hk. 28800 IN NS NS1.PROVISIONHK.COM.
;; Received 78 bytes from 210.201.138.58#53(B.DNS.TW) in 328 ms
;; connection timed out; no servers could be reached
As you can see, dig (the best DNS testing client ever) is correctly giving an error for both domains. You may say "I understand why it doesn't work for the second domain, but why the first? It already knows both IP addresses!". Well, because the RFC says that:
- the NS record must point to an host
- this host must be resolvable by the client
Now, in the second case, that's simple: the domain is different for the zone and the nameservers, so you just need the two A records within the nameservers domain zone. In this case they are missing, so it won't work. As I said, it's simple.
In the first case, there is an important detail: the domain is the same as the nameservers one. This means that you need glue records. Those are the two A replies you see and it's what happens when you "register" your nameserver at the registrar. If they weren't there, the client couldn't continue because it must ask about ns1.provisionhk.com at ns1.provisionhk.com... and that's impossible.
Now, some clients (and forwarders) store the glue records for later, so that they don't need to query for "ns1" and "ns2" anymore... but RFC clients (and forwarders) do, because THEY MUST BE RESOLVED INDEPENDENTLY (remember the second point above?). They will ask for the A records... and receive nothing... thus they can't continue.
All clear?
