|How to fix this DNS problem?|
Private name servers do not send DNS records
I use private nameservers on a domain of mine, but the site doesn't seem to display. The webserver where the site content is hosted is also my own, and I think that the reason for the site not working is either a DNS issue, or some httpd.conf rule miswritten.
Thinking it was a DNS problem I did a intodns search, which showed errors.
What I'm trying to do here is that if a domain is pointing to my server, which doesn't have a DocumentRoot of it's own, can show a parked page. something like this site is under construction etc.
To achieve this I added a default virtualhost in the apache httpd.conf which I think is working as expected. I checked it as follows:
Under: windows/system32/drivers/etc/ there's a file "hosts"
I editted this file to resolve any request for a specific domain (above mentioned domain in this case) to point to the IP of my server.
Now when I opened the domain in my browser, it resolved to my webserver, and the server delivered the expected page. This is why I think that apache did it's work.
However if I do not edit the "hosts" file in windows, my PC is not able to resolve the domain, and the request doesn't go to my server. I get a 404 page.
I have been working on this for 2 days, but can't get this working. I think I'm missing the DNS entry at the webserver. What is the entry I need to do to get the dynamic parking thing working? I'm using kloxo as control panel.
[edited by: lammert at 11:56 am (utc) on Jun 6, 2010]
[edit reason] Removed specifics and link DNS tools site [/edit]
Hi jeet333, welcome to WebmasterWorld!
If your site is reachable when you add the IP address of that site to your local hosts file, but not otherwise, it seems to be a lack of an A record in your DNS settings. The A record translates the name of your domain to the IP address.
Another reason can be that your records in your DNS servers are correct, but that the DNS server is not listening correctly to request from the outside world. Such a situation can happen when a firewall between your server and the Internet is blocking incoming DNS requests. It could also be that the DNS server daemon on your server didn't start correctly. Some hosting companies do not allow running your own DNS server anf block requests to the UDP port 53 where the DNS server is listening by default. The do this because an incorrectly configured DNS server may be used as a proxy for DDOS attacks on other servers.
You can check if your DNS daemon is running if you have SSH access to the server. The command netstat -nl will produce a list of all the running network daemons. You should see a line like:
|udp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN |
|udp 0 0 :::53 :::* LISTEN |
Thanks. The A record was missing as you mentioned. Is it possible to make an A record so any domain that points to that server (has nameservers of that server) would resolve without having to create individual records for each domain name?
I might sound really stupid there, but I was thinking something like where apache picks the default virtualhost if it doesn't find a virtualhost for that domain. Is something similar possible with Bind too?
Thanks for bearing me.
There is a wildcard DNS option which allows you to use '*' instead in the left part of the domain name, but as far as I know it only works with subdomains, i.e. *.example.com which matches all subdomains of example.com. Adding *.com to map all the domain names to one IP address on your server only works if you are able to create a zone file for the .com domain. You could try it but if it doesn't work your sites might be unavailable for a short time due to invalid answers on DNS requests.