Help w. multiple DNS servers

I have DNS configured with local zone info only on OSX Server 10.3.9. My (router based) DHCP server has 3 DNSs the 1st is my local OSX DNS the other 2 are public DNSs. I want to disable OSX DNS recursion and only have it resolve for local. The problem is that when recursion is off even though my Mac clients have all 3 DNSs listed they only attempt to use the 1st in the list and fail to use the 2nd or 3rd listed servers. If I enable recursion DNS will resolve but only through the local DNS. Basically I want to force which DNS servers are used for zones not being served by OSX.
Thanks for any help!!

G4 (800Mhz DP 1.5gb RAM) Mac OS X (10.3.9)

Posted on Jul 13, 2007 10:43 AM

Reply
4 replies

Jul 13, 2007 9:02 PM in response to Keith Savoie

> even though my Mac clients have all 3 DNSs listed they only attempt to use the 1st in the list and fail to use the 2nd or 3rd listed servers

That's how it works.

The purpose of multiple DNS servers is so that when one server doesn't respond the client can retry the request through a different server.

The issue you have is that the first server does respond. The fact that it responds with an 'I don't know' answer is irrelevant. It responds with a 'host unknown' response, but that's good enough to tell the client that the hostname they requested doesn't exist.

The second server would only be queried if the first server didn't respond with any answer at all.

Your solution is to enable recursion - this tells the DNS server to pass the request on to other DNS servers if it doesn't know the answer.

Jul 13, 2007 10:49 PM in response to Keith Savoie

As I understand it if you want to use an internal only DNS zone you need to use only that DNS as you can't be certain the other DNSes isn't getting the request instead of the internal one.

As the external DNSes doesn't know about your internal zone/domain you need to use ONLY the internal DNS with recursion.

The only way I know of to make your DNS not do all lookups (via root servers) by itself is to enter forwarders to the configuration in /etc/named.conf. You still let your internal DNS handle all DNS matters, this will just help it hand over some of the work to the forwarders.

The forwarders you use is usually your ISP DNSes.

With forwarders all lookups of domains not setup in your own DNS is forwarded to the forwarders. With this setting: "forward first;", all forwarders get the same request and the first returning answer is used.

To speed up DNS lookups you also turn off IPv6 in Network config.


You edit the /etc/named.conf file:

-----------------------snip------------------------
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;


// # add this:

forwarders {
<your ISP DNS server#1 IP here>;
<your ISP DNS server#2 IP here>;
};
forward first;

// # to here


};
---------------------snip----------------------------

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Help w. multiple DNS servers

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.