0

I recently installed a Cisco Linksys E3200 wireless router in my network. Attached to it is a Linux server running Bind DNS that is used to resolve names of internal services.

Previously, I had a Netgear router, and all OSes (Windows, Linux, Mac) were able to resolve DNS immediately. Now, only Linux and Mac seem able to resolve DNS. It seems to take Windows (both XP and 7) hours or days to finally find the DNS server, resulting in a lot of frustrated users asking me "why can't I access anything?"

I can't find anything obviously wrong with the settings in the router, so my short-term fix has been to distribute a hosts-file to the Windows users, which is obviously not the right solution.

Windows machines can ping the internal DNS server, but they're not picking up the DNS domain/search/nameserver settings. How would I diagnose why Windows is unable to correctly resolve DNS?

EDIT: My /etc/resolv.conf auto-populated with DNS settings retrieved from my router.

domain mydomain.com search mydomain.com nameserver 10.157.10.1 nameserver 10.157.10.2 nameserver 192.168.1.1

Cerin
  • 3,600
  • 19
  • 61
  • 79
  • do you get a timeout when you run nslookup from the command prompt? – tony roth May 01 '12 at 14:49
  • 1
    well, let's get the obvious question out of the way first: Do you have the windows clients set to use the BIND server as primary DNS? – Rex May 01 '12 at 15:51
  • @Tony, No, nslookup returns quickly. – Cerin May 01 '12 at 18:44
  • @Rex, I'm not sure what you mean. I entered the DNS server's credentials into the router's DNS server settings so those will be distributed to any computer that connect. See my edit for an example of the settings retrieved from the router. – Cerin May 01 '12 at 18:46
  • Maybe this? https://serverfault.com/a/245065/121010 – JimB May 05 '20 at 11:32

2 Answers2

1

As far as I know, Windows clients don't understand resolv.conf. You need to configure the DNS server address in the IP configuration on your Windows clients, either manually or via DHCP.

Chris McKeown
  • 7,168
  • 1
  • 18
  • 26
  • I know...that's not the issue. The resolv.conf file isn't something *you* manually create. It's created by the network manager daemon, which reads it from the router's DHCP settings. My question is *why* isn't Windows able to automatically infer this the way other OSes can? – Cerin May 02 '12 at 02:38
  • @Cerin, perhaps you need to read Chris's answer properly. You need to configure either the DHCP server to hand out the correct DNS server address or, if not using DHCP, go to each machine and configure them properly. – John Gardeniers May 02 '12 at 03:16
  • @Cerin OK, so if you do an `ipconfig /all` on one of the Windows hosts, does it have the correct DNS servers in its configuration? – Chris McKeown May 02 '12 at 07:26
0

I'm going to infer that your router is also the DHCP server. Having said that, is the IP address of the Linux DNS server (BIND DNS) inputted on the Cisco router? If so, then client machines should be able to pickup the IP address of the Linux DNS server (BIND DNS) and query that DNS server for name-resolution using its DNS file, (resolv.conf). If you have a DHCP that isn't the router, check the scope options to see if any DNS IP is inputted.

Shawn
  • 1