I have trouble understanding a specific effect in DNS name resolution for subdomain names that came to light when enabling lets encrypt.
The context of my question:
I have a domain (basjes.nl) and I have set all hostnames in that domain to resolve to the same IP address.
In the UI of my DNS provider (Transip) I see something like this:
@ A x.x.x.x
* CNAME @
Now I can do this to get the specified IP address.
dig blurp.basjes.nl
Recently I deployed the ACME-DNS tool and setup the appropriate DNS entries (i.e. delegate auth.basjes.nl to my own ACME-DNS server) to allow Lets Encrypt to verify I own the specified hostname via DNS.
For this specific hostname I want to have a 'full name' HTTPS certificate (i.e. not the wild card) so I added something like this:
_acme-challenge.blurp CNAME something.auth.basjes.nl.
After adding this entry I find that doing dig blurp.basjes.nl
no longer works. The strange thing is that I do not get an error (so no NXDOMAIN), I either get nothing or just
;; AUTHORITY SECTION:
basjes.nl. 300 IN SOA ns0.transip.net. hostmaster.transip.nl. 2018041107 14400 1800 2419200 300
So at this moment I have something like this:
@ A x.x.x.x
* CNAME @
_acme-challenge.blurp CNAME something.auth.basjes.nl.
I have found that if I add an explicit DNS record for this hostname then suddenly it DOES work again:
@ A x.x.x.x
* CNAME @
blurp CNAME @
_acme-challenge.blurp CNAME something.auth.basjes.nl.
The effects I would like to understand:
Why DOESN'T it resolve anymore when asking a normal DNS server ?
The '*' record is still present!
dig blurp.basjes.nl @1.1.1.1
Why DOES it resolve when asking directly the SOA DNS server of Transip?
dig blurp.basjes.nl @ns0.transip.net
Why DOES it resolve when adding the explicit record?
This is what I currently use as a workaround to make it work for me.
P.S. I have contacted Transip support before posting this question. They didn't know what went wrong here and/or why this happens.