Workaround for using ".local" as a Leopard Server's hostname?

If your internal domain is .local, you will have a problem resolving names via DNS. There is an old article on Mac OS X Hints which describes a solution:

I created a company.local file in /etc/resolver, and populated this file with the nameservers for the company.local AD domain. This allows Mac OS X to use standard DNS to resolve company.local (or subdomain.company.local), while still allowing Rendezvous to operate as expected.

The only drawback I've seen to this approach is that the nameservers in this company.local file don't update via DHCP, so I have to update them manually.

Here is a more official support document from Apple which will parse your existing /etc/resolv.conf to populate the file in /etc/resolvers.


I'm not sure how similar OS X is to linux, but I had a similar problem with an ubuntu install, and was able to solve it by editing /etc/nsswitch.conf

Under the hosts entry I had to re-order the services so that dns came before any of the mdns4 entries.

My modified line looks like:

hosts:     files dns mdns4_minimal [NOTFOUND=return] mdns4

Hope that helps someone!


I'm not a kerberos expert, but I believe that it requires a function DNS infrastructure. The .local domain only exists inside the multicast resolver, and isn't a real zone. My advice would be to setup a separate internal domain, private.yourcompany.com.