Linux – Why does the domain resolve incorrectly on the server’s network

domain-name-systemiplinuxUbuntu

I've just set up a home server to host my site. I can access the site fine from any network apart from my home network.

I thought it might be an issue with DNS, so I decided to ping my domain from my laptop (on my home network), and got the following:

$ ping alexcoplan.co.uk
PING alexcoplan.co.uk (88.108.252.160): 56 data bytes
Request timeout
Request timeout
etc...

Which is really strange, because the domain is resolving to the wrong IP.

I knew that the site was working, because I accessed it on my phone via the cellular network and it loaded fine. Just to double check, I ran terminal emulator on my phone, and pinged my site, and got the following:

$ ping alexcoplan.co.uk
PING alexcoplan.co.uk (88.111.7.117): 56 data bytes

Which is the correct IP.

So that begs the question, why is my domain resolving incorrectly inside the network?

Best Answer

You have to start debugging at the computer where you get the wrong IP, to try to figure out where the erroneous IP lookup comes from. First check your /etc/hosts file to see if you happen to have any entries in there pointing to 88.108.252.160 (seems to be a DSL IP (your home IP?) 88-108-252-160.dynamic.dsl.as9105.com.).

Just to ask too, make sure the computer you ping from isn't NAMED alexcoplan.co.uk! :)

Next step would be to check where /etc/resolv.conf points to and ask those nameservers for the IP for alexcoplan.co.uk to see if they somehow have cached the wrong IP.

If nothing seem to work you can try configuring your computer to use Googles public DNS as your nameservers for a while, to outrule that there is something wrong with your current configured nameservers. Googles recursive DNS servers that you can use is 8.8.8.8 and 8.8.4.4. Read more about them here:
http://code.google.com/speed/public-dns/