At my company (getstream.io) we've been having issues when resolving our domains randomly. After some more investigation it seems some .io nameservers are returning bad results. Specifically ns-a2.io and ns-a4.io. A correct result for crates.io looks like this:
$ dig crates.io @ns-a1.io +norecurse
; <<>> DiG 9.11.2 <<>> crates.io @ns-a1.io +norecurse
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18874
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3,
ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;crates.io. IN A
;; AUTHORITY SECTION:
crates.io. 86400 IN NS dns3.easydns.ca.
crates.io. 86400 IN NS dns1.easydns.com.
crates.io. 86400 IN NS dns2.easydns.net.
;; Query time: 83 msec
;; SERVER: 194.0.1.1#53(194.0.1.1)
;; WHEN: Wed Sep 20 15:33:13 CEST 2017
;; MSG SIZE rcvd: 127
A bad one looks like the following:
dig crates.io @ns-a4.io +norecurse
; <<>> DiG 9.11.2 <<>> crates.io @ns-a4.io +norecurse
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 43223
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1,
ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;crates.io. IN A
;; AUTHORITY SECTION:
io. 900 IN SOA a0.nic.io. noc.afilias-nst.info. 1497256201 10800 3600 2764800 900
;; Query time: 10 msec
;; SERVER: 74.116.179.1#53(74.116.179.1)
;; WHEN: Wed Sep 20 15:34:59 CEST 2017
;; MSG SIZE rcvd: 105
This has happened last year as well, so I wouldn't recommend running something important on a .io domain: https://news.ycombinator.com/item?id=12813065
"Unfortunately this stops DNS traffic before it gets to Cloudflare so it is not a problem we can solve for you as much as we would love to. Our recommendation right now would be to contact your domain registrar to understand more about this problem."
Contacted the registrar (iwantmyname.com) and their response:
"You're using external CloudFlare hosting, so our DNS management isn't being used. We don't have any access to the hosting account or the ability to address issues there. It does appear there's some issue with propagation."