NFS without rpcbind?

Erik Norgaard norgaard at locolomo.org
Tue Apr 24 07:45:35 UTC 2007


On Mon, 23 Apr 2007, Dan Casey wrote:

> It was my understanding that NFS worked off of RPC.  I accidently
> stumbled upon some redhat docs that said you use TCP based NFS which
> will not require rpc?  I think this is an NFSv4 feature, but I'm not
> sure.  I would like to achieve this using FreeBSD 6.2.  My goal that I'm
> trying to accomplish is to get nfs to work in an environment where all
> traffic is denied by default.  Using rpcbind doesn't work well with that
> type of setup.
>
> I tried the following
> nfs_reserved_port_only="YES"
> nfs_server_enable="YES"
> nfs_server_flags="-t -n 4 -h 10.a.b.c"
>
> This spawned rpcbind which I didn't want.   Does anyone know how to do a
> tcp only nfs implimentation?

AFAIK nfs v4 is not done yet, the client side is but not the server side. 
But FBSD do have a tcp based nfs. This doesn't however change anything 
with respect to avoiding rpcbind.

RPC is used to tell the client at which port the daemons bind. These may 
be assigned dynamically (I think mountd is dynamic but nfsd static to 
2049). Basically the client connects to the rpcbind deamon to request 
which ports the mountd and nfsd are on.

You can force both to bind to a static port.

rpcbind_enable="NO"           # Run the portmapper service (YES/NO).
nfs_server_enable="YES"       # This host is an NFS server (or NO).
mountd_enable="YES"           # Run mountd (or NO).
mountd_flags="-r -p 59"       # Force mountd to bind on port 59

will force mountd to bind to port 59. Then it should be possible to run 
the nfs server without rpcbind, but I don't remember how to configure the 
client side.

Cheers, Erik


More information about the freebsd-questions mailing list