NFS Connection Issues

I have a Digicart/E that refuses to see a freebsd FreeBSD 9.2 NFS share. It has no problem mounting a share from Ubuntu12.04LTS.

Ubuntu's /etc/exports:
Code:
/music *(rw,sync,no_root_squash,no_subtree_check)

Freebsd FreeBSD's /etc/exports:
Code:
/wavefiles -alldirs -maproot=root

hosts.allow

Code:
rpcbind: ALL : allow

/etc/rc.conf
Code:
#NFS 
rpcbind_enable="YES"
mountd_enable="YES"
mountd_flags="-n"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 6"
nfs_reserved_port_only="NO"
rpc_statd_enable="YES"
rpc_lockd_enable="YES"

tcpdump errors:
Code:
15:53:38.612980 IP 192.168.1.17.1277 > 255.255.255.255.sunrpc: UDP, length 56
15:53:39.099992 IP 192.168.1.17.1278 > 255.255.255.255.sunrpc: UDP, length 56
15:53:39.576439 IP 192.168.1.17.1279 > 255.255.255.255.sunrpc: UDP, length 56
15:53:40.058377 IP 192.168.1.17.1280 > 255.255.255.255.sunrpc: UDP, length 56

I cannot for the life of me figure out why the FreeBSD NFS shares do not list on the Digicart but they do from Linux (And NFS services for Windows for that matter.)

Any suggestions or ways to get this to work would be appreciated.
 
Based off the results from the tcpdump and what I just read in the manual, it looks like the Digicart uses broadcasts to search for an NFS share. Do you have an option to put in an IP address in the Digicart's interface? There's no reason that wouldn't work if you just manually put it in there. If there is no option then then the right question to ask here is how to get FreeBSD's rpcbind to respond to broadcast requests. There is one mention of broadcast rpc in the source code and there's no flags to turn it on or off so I would have hoped it would just work but that doesn't appear to be the case. Hopefully there is someone out there with more rpcbind experience who can help.
 
Considering that there seems to be no return data (when looking at the tcpdump output) my first idea would be a firewall issue.

Apart from that I also wonder if this device can handle NFS v4, if not then you might have more luck using the -o option, though this is just a wild guess.
 
To @junovitch:

Unfortunately the Digicart/E does not allow manual entries, well, none that actually do anything (more of a renaming thing) with respect to finding NFS shares. I am sure it is related to rpcbind not providing a list to the broadcast. I was hoping there was a way of "activating" it. If you have any info regarding rpcbind tuning I would appreciate any links.

As to it being a firewall issue, no, at present there's virtually no security on the BSD box. As to the -o option. I have added the flag in tests to both mountd and nfsd.
 
Last edited by a moderator:
Based off some reading of a simliar issue in RHEL/Fedora, I am curious of the debug output from rpcbind shows the same situation where rpcbind does recognize what it has received just no response goes out. If it's not that maybe there is something else there dealing with the behavior responding to broadcasts.

Try this:
Code:
rpcbind_flags="-d"

This will prevent rpcbind from running in the background so you'll need to have multiple terminals/tmux's/ssh sessions going on here. Once that is set do this.

# service statd stop ; service lockd stop ; service nfsd stop ; service mountd stop ; service rpcbind stop

Then in one terminal:
# service rpcbind start

And in another:
# service mountd start && service nfsd start && service lockd start

Post up all the debugging output you get from rpcbind.
 
Back
Top