NFS issues with macOS clients

I've been running a FreeBSD NAS for a long time now with ZFS filesystems shared via NFS. In the past, macOS had no issues connecting, though the default when using Finder was NFSv3. Good enough for me.

But I've recently upgraded from Mojave (10.14) to Ventura (13.2) and have been having trouble accessing the NFS exports from the NAS. My guess is that this is a macOS problem, but I thought it would be a good idea to check if my server is set up correctly. In particular, it seems that Ventura isn't able to connect by NFSv3, only NFSv4. Perhaps I'm wrong, but I've tried a number of times with various settings, and both through Finder and the command line, only NFSv4 has worked at all.

Here's my /etc/rc.conf:
Code:
# General Settings
clear_tmp_enable="YES"
syslogd_flags="-ss"
sendmail_enable="NONE"

# Network Settings
hostname="server"
ifconfig_em0="inet 192.168.0.200 netmask 255.255.255.0"
defaultrouter="192.168.0.1"
pf_enable="YES"
gateway_enable="YES"

# SSH Server
sshd_enable="YES"

# NTP Server
ntpdate_enable="YES"
ntpd_enable="YES"
ntpd_sync_on_start="YES"

# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

# ZFS
zfs_enable="YES"

# Enable Intel GPU drivers for better terminal appearance
kld_list="i915kms"

# NFSv4
nfs_server_enable="YES"
nfsv4_server_enable="YES"
nfsuserd_enable="YES"
nfsuserd_flags="-verbose"
mountd_enable="YES"

# Bastile (Jails manager)
bastille_enable="YES"
cloned_interfaces="lo1"
ifconfig_lo1_name="bastille0"

# For Time Machine backups
netatalk_enable="YES"

Here's /etc/exports:
Code:
V4: /storage/data/              -network 192.168.0.0/24
/storage/data/private           -mapall=nfsshare -alldirs
/storage/data/private/pi        -mapall=nfsshare
/storage/data/private/Photos    -mapall=nfsshare
/storage/data/public            -mapall=nfsshare

storage is the pool and private, pi, Photos and public are separate ZFS filesystems. nfsshare is a user made specifically to access these filesystems, so it is the owner of all of their root directories as well as all their children.

In general, I can mount any of those exports from either macOS Finder or using the command line. And I can browse the files without issue. But when it comes to reading, writing or executing files, I usually get permission errors. I say usually, because when I first mount, I can often read/write/execute, but then after a little while, the errors occur.

In addition to the macOS clients, I have another server running FreeBSD and a Linux machine which can both mount from these same exports without issue. They both mount as NFSv3.

Please let me know if there's anything wrong with the server's setup or if you need more information to make that determination. Thanks in advance
 
Yes, there are som obstacles on this matter with new MacOSX versions. You need to add to your /etc/rc.conf file these daemons:
Code:
rpc_lockd_enable="YES"
rpc_statd_enable="YES"

Because if you try on your MacOSX to mount NFS shares from console you'll get some errors which tell you that lockd and statd should be launched on NFS server side
 
Back
Top