DNS problems can cause all sorts of strange network behavior. Not being able to resolve Internet host names is an obvious symptom, but because of reverse lookups, general server slowness can be caused by the same thing. Your server tries to look up a host name for a local machine trying to connect to it; if it takes too long, the other machine can give up.
Often machines are configured to use the ISP's DNS server, which of course knows nothing about local machines. As long as it returns failure quickly, that's no problem: the server will continue on to look in its local files or its local DNS server. Sometimes the ISP's server isn't actually broken, but simply takes too long to respond, causing timeouts or extreme delays locally.
On a Unix or Linux box, DNS servers can be easily tested at the command line. Let's pretend your ISP DNS is 18.104.22.168:
dig @22.214.171.124 192.168.2.3
If that doesn't return quickly, local machines could experience problems. However, that test may not be enough to prove the issue. The absolute test is to change your configuration to take the ISP server right out of your configuration. If you comment out the nameserver in /etc/resolv.conf and local server issues improve, there obviously is a problem and it probably isn't at your end.
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2012-07-14 Anthony Lawrence