Is a wildcard CNAME DNS record valid?
I know it's valid to have a DNS A record that's a wildcard (e.g. *.mysite.com). Is it possible/valid/advised to have a wildcard CNAME record?
It is possible to do this. At one point it was up in the air a bit until 4592 clarified that it should be supported.
Just because it is possible doesn't mean it is supported by all DNS providers. For example, GoDaddy won't let you set up a wildcard in a CNAME record.
In terms of whether it is advisable or not to do this, it depends on your usage. Usually CNAMES are used for convenience when you are pointing to an "outside" domain name that you don't control the DNS on.
For example, let's say you set up a CMS system that allows you to have *.mycms.com as the site name (it uses host headers). You want customers to be able to easily set up *.cms.customer.com, without worrying that you might change your IP address at some point. In that case, you could advise them to set up a wildcard CNAME called *.cms.customer.com to www.mycms.com.
Because wildcard CNAMES aren't supported by all providers (such as GoDaddy), I wouldn't advise using it in a case where you suggested it for various customers (where you don't know their provider's capabilities).
I added the line
*.www IN CNAME my_webserver
to my zone file in my bind config and that worked perfectly (ie. whatever.www.domain.com
and whatever2.www.domain.com
all pointed to my_webserver
.
It was also possible to to add exceptions to this by adding the line
exception.www IN CNAME another_server
so that exception.www.domain.com
pointed to another_server
.