How to set up a DNS to use a catch-all address?
You need both:
In DNS zone setup an entry (the last, the best)
*.your_domain.foo. IN A 999.999.999.999 # correct this csi-like ip
The last dot in domain is very important.
That will match any.your_domain.foo to your IP. you can place other entries for other subdomains / ip's before.
And in apache / other web server you mus setup a vhost or something to handle all the requests an set ServerAlias / ServerName to
ServerAlias *.your_domain.foo
Again place this Vhost the lasts, defining any existing vhosts in your_domain.foo before the default one.
Apache loads config files using an ascii ordered scheme so put this in a 099_default
file and prepend other by 050_
In your case, the DNS should let you to use a *.yourdomain.foo.
in zone definition and I think you can archieve the apache part using mod_rewrite, if it is enabled. I think that There are some ways of simulate virtual hosting usin rewrites with the SERVER_NAME
variable as a condition. Check http://httpd.apache.org/docs/2.3/rewrite/vhosts.html. I haven't tried it.
You do this in DNS. If you have a sane (bind-like) dns server you want to add something like this to the configuration for your zone:
server.example.com. A 192.168.1.1
*.example.com. CNAME server.example.com.
It creates an alias for the wildcard and points it to the address of the server.You can also do it directly:
*.example.com. A 192.168.1.1
But for management reasons the first solution is typically better. Once this is done you create a catch-all vhost that mirrors your www.example.com host.