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.
whatever2.www.domain.com all pointed to
It was also possible to to add exceptions to this by adding the line
exception.www IN CNAME another_server
exception.www.domain.com pointed to
We use wildcard dns all the time, and we haven't had any issues. If you point it to an ipaddres, use:
*.mysite.com Host (A) Default xxx.xxx.xxx.xxx
If you want to use an alias, do:
*.mysite.com. IN CNAME mysite.com.
As far as I remember you can(ish) sort of do this, but then that CNAME can't be used by any other record type such as NS or MX.
Not quite sure what you're trying to achieve with the "wildcard" thing, so I'll have to give a generic answer :)
To clarify, CNAME aserver.domain means you can't have anothername.aserver.domain
There are exceptions, but I don't know what they are off the top of my head thou and not really sure what you want to do, so I shan't waste time.
when you create a CNAME record end the pointed server with a dot, ex: *.mydomain.com. Notice the last dot
Here are the results of my test. I deleted the A records for mysite.com and www.mysite.com and added a CNAME record for *.mysite.com. The test didn't work. mysite.com wouldn't resolve. Just to be clear, I use OpenDNS for my DNS servers. Maybe it works fine with other DNS servers, but I obviously want it to work universally. Based on those results, I'm going to stick with the standard A records.
It does work now.
Just use a "*" in the cname section of the zone file editor or DNS manager from Godaddy an point to an IP or DNS name.
In my case I used it with an DNS name pointing to an Microsoft Azure cloudservice and it worked great. This works for bla.domain.ext but also for bla.bla.domain.ext. Might work different for another provider.