Dru, Thanks for sticking with this - you are seeing behavior we all claim is impossible to see. :->
I went looking in the code and sure enough it does do a reverse name lookup. Only if that lookup fails, it is supposed to use the hostname of "(anon)". Which, combined with the rules I provided, will allow your unamed machines access. I've spotted the place where the bug is occurring in http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/fs.d/nfs/mountd/mountd.c#getclientsnames 573 /* 574 * Get the client's hostname from the transport handle 575 * If the name is not available then return "(anon)". 576 */ 577 void 578 getclientsnames(SVCXPRT *transp, struct netbuf **nbuf, 579 struct nd_hostservlist **serv) 580 { ... 600 /* 601 * Use the this API instead of the netdir_getbyaddr() 602 * to avoid service lookup. 603 */ 604 if (__netdir_getbyaddr_nosrv(nconf, serv, *nbuf)) { ... 629 } 630 freenetconfigent(nconf); 631 } At line 631, we don't do what the comment on lines 574-575 state we should do. I'll file a bug against this, but that doesn't help you right now. (If you want to file the bug, let me know.) For my home configuration, I assign my router the ip: 192.168.1.1 And I assign my server the IP of 192.168.1.20. I then use named or even dhcpd on that server to assign both names and IP to the remaining computers in my house (most laptops, PSPs, Ninendo DSes, iPhone, etc use DHCP, the rest all get static IP). I configure all of my clients to use the DNS servers, in order: 192.168.1.20 192.168.1.1 Would something like this suffice for you? I'm willing to help off-list for you to get this going. Thanks, Tom