Debugging DNS Issues
I am having a DNS issue with at least a couple of customers being unable to hit our website at all with chrome just reporting "This webpage is not available" (both over http or https), but DNS and network config is not my strong suit.
http开发者_如何学运维://www.downforeveryoneorjustme.com/ says that it's up, and I know it works for some of our customers as I have the analytics that shows them logging in, but I am worried about how widespread the issue is.
All my DNS settings/CNAMEs/SSL stuff have been in place for a few weeks now, so I don't think it should be a DNS propagation issue.
How do I go about debugging this issue without access to the machines/networks that are affected? I am happy to ask my customers to run a few shell commands and send me the results (but I obviously don't want to hassle them too much) but I am not sure which commands would be the most useful.
Update In response to @lenary's answer below, the specific error in chrome is:
Error 105 (net::ERR_NAME_NOT_RESOLVED)
So, first off, how to use host
. This is as good a tool as any for debugging DNS, only its output is much easier to read and understand than dig
(both can do the same job).
To query what your dns records look like at your end, do the following (with lenary.co.uk as an example):
$ host lenary.co.uk
lenary.co.uk has address 207.97.227.245
lenary.co.uk mail is handled by 20 ASPMX4.GOOGLEMAIL.COM.
lenary.co.uk mail is handled by 20 ASPMX5.GOOGLEMAIL.COM.
lenary.co.uk mail is handled by 0 aspmx.l.google.COM.
lenary.co.uk mail is handled by 10 ALT1.aspmx.l.google.COM.
lenary.co.uk mail is handled by 10 ALT2.aspmx.l.google.COM.
lenary.co.uk mail is handled by 20 ASPMX2.GOOGLEMAIL.COM.
lenary.co.uk mail is handled by 20 ASPMX3.GOOGLEMAIL.COM.
This can help debug stuff. If you use a CNAME on the www subdomain it will tell you where it's aliased to. "has address" just means it's an A record.
That's the first step. If it's working for you, now check a few major DNS servers around the world (you may have to research IPs/hostnames for them).
To check at a specific server, do the following (I chose 8.8.8.8, a dns server run by google). I also specified the type of record i was looking for using -t <type>
so the output is less verbose. You probably want A for your main domain and CNAME for subdomains like "www".
$ host -t A lenary.co.uk 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
lenary.co.uk has address 207.97.227.245
That should allow you to check against enough servers to verify the information is correct.
It might also be worth checking exactly what error they get. "This webpage is not available" seems to be the error message for quite a few (at least 4) networking errors that chrome might encounter, of which only 1 relates to DNS.
Maybe point people here: http://www.google.com/support/chrome/bin/answer.py?hl=en-GB&answer=117805 or try and get further diagnosis including an error number/constant (by constant i mean something like net::ERR_FAILED
.
If you have dig
installed (common on linux and OS X boxes) you'd want to first check the IP addresses for your domain's A records:
dig A yourdomain.com +noall +answer
If you want to force the query through your name server, add an @
flag:
dig @your.ns.ip yourdomain.com +noall +answer
精彩评论