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

Reply via email to