CoreDNS: almost ready to dogfood

April 6, 2016


I need to test AXFR and how it responds to notify, and yes this will get some proper *_test.go files in the near future, but for know I just need to know if it works just this once ™. For this I need to transfer a zone and need to have a proper primary setup so that I can send notifies that CoreDNS will respond to.

So I ended up with the following Corefile, where is the real primary, is a fake one which allows me to send notifies with kdig. {
   secondary {
        transfer to *
        transfer from
        transfer from
    errors stdout
    log stdout

Startup looks legit:

 ./coredns -log stdout
Activating privacy features...
2016/04/06 21:25:43 [INFO] Transferred:

Let’s send a notify and see what happens: kdig -t NOTIFY @localhost -p 1053

2016/04/06 22:15:37 [INFO] Notify from for checking transfer
2016/04/06 22:15:37 [INFO] Notify from for no serial increase seen - [06/Apr/2016:22:15:37 +0100] "SOA IN udp false 512" NOERROR 25 24.356174ms

That last SOA query is CoreDNS querying itself for the zone… I think this should not create cycles… But there isn’t a transfer initiated, because the remote’s SOA serial isn’t increased. So lets try that… increases SOA serial. And resend the NOTIFY:

2016/04/06 22:17:07 [INFO] Notify from for checking transfer
2016/04/06 22:17:07 [INFO] Transferred:

W00T! That is working as intended. This is fixing issue 15, making it possible to run CoreDNS as my server. Doing that will surely turnup some more bugs, so leaving that bug open for a short while.

CoreDNS  Dogfood  DNS  AXFR