I migrated from PowerDNS to Knot 2.7.

I have a conflict with 2 DNS records now.

abcd.**www**.example.com CNAME -> somehost.example.net
*.example.com -> example.com

Now the problem is with the www.example.com domain. In PowerDNS it was to resolve as *.example.com. Now there's no response. When I add A or CNAME record for www.example.com all is ok. Problem is based on first CNAME as I wrote above.

Can you explain me why and how can I fix it?

Thank you.


The behaviour that you describe is entirely expected; what I find surprising is the claim that you got a different result with PowerDNS (you may want to file a bug report if you can reproduce this with a current version).

The reason why this is the expected behaviour is that wildcard functionality in DNS is defined in such a way that the wildcard only expands to names that do not exist below the wildcard entry (ie, essentially names where you would otherwise get an NXDOMAIN response).

What may not feel intuitive here is that with the two records in the question, the name www.example.com is considered to exist (even though it doesn't have any records of its own) because it is an intermediate node in the branch that leads to abcd.www.example.com (which does have records). (This type of intermediate tree node without records is referred to as an empty non-terminal or ENT).
As the name www.example.com exists, it follows from the definition of how wildcards work that it should not be affected by *.example.com and you will get a NODATA response (indicated by NOERROR status with SOA in the authority section) unless you add records to www.example.com itself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.