dnscrypt.eu DNSSEC Outage:
2017-06-12 to 2017-11-19

Updated: November 23, 2017

Overview

This page gives some details on the dnscrypt.eu DNSSEC outage from June 6 to November 19, 2017.

Timeline / DNSViz

Zonemaster

Google Public DNS, with/without DNSSEC

With DNSSEC enabled, queries fail:

$ dig +dnssec a dnscrypt.eu. @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +dnssec a dnscrypt.eu. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 21522
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;dnscrypt.eu. IN A

;; Query time: 79 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Sep 9 02:23:55 2017
;; MSG SIZE rcvd: 40


You have to disable DNSSEC to make DNS work:

$ dig +cd a dnscrypt.eu. @8.8.8.8

; <<>> DiG 9.4.2-P2 <<>> +cd a dnscrypt.eu. @8.8.8.8
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60774
;; flags: qr rd ra cd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;dnscrypt.eu. IN A

;; ANSWER SECTION:
dnscrypt.eu. 1799 IN A 185.52.2.12

;; Query time: 151 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Sep 9 02:23:55 2017
;; MSG SIZE rcvd: 45

drill trace

Since DNSSEC contains so much garbage, I put the complete drill trace into its own file, with the relevant portion below (emphasis added):

;; Domain: dnscrypt.eu.
[B] dnscrypt.eu. 43200 IN DNSKEY 257 3 5 ;{id = 23701 (ksk), size = 512b}
dnscrypt.eu. 43200 IN DNSKEY 256 3 5 ;{id = 24141 (zsk), size = 512b}
[B] dnscrypt.eu. 1800 IN A 185.52.2.12
;; Error: No keys with the keytag and algorithm from the RRSIG found

;;[S] self sig OK; [B] bogus; [T] trusted

Logfile examples