Using ".local" as your hostname breaks Kerberos (and other services) in Mac OS Server 10.5 Advanced because the server will only do Bonjour lookups instead of checking with the DNS Server(s). There is an old Apple knowledgebase article (from OS 10.3) that says adding the string "local" to the "Search Domains" section of the Network System Preference Pane will force your computer to lookup via a DNS server instead of just Bonjour...
...which sounds like it would also allow you to use "server.local" as your hostname - can anyone confirm this is the case, or is there some other drawback with this workaround?
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:
Hope that helps someone!
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: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 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.