Problem/Justification
Given a TrueNAS with hostname fileserver.mydomain.com, if the TrueNAS is also available via mDNS as fileserver.local, access via fileserver.local generates the following smbd error:
parse_dfs_path_strict: Hostname fileserver.local is not ours.
This occurs because DFS is enabled by default, and DFS requires that the hostname accessed as in \filesever.local\share match samba’s notion of what its hostname is. The mDNS name does not match this.
This can be avoided by setting host msdfs = no.
Impact
With host msdfs = no, share can be access via FQDN or mDNS.
User Story
In SMB service settings, add setting to enable/disable DFS, with enabled the default matching the samba default. Given mDNS is a standard TrueNAS setting required for Time Machine, and mDNS share access won’t in a config where the server has FQDN != hostname.local with the default settings, I think it is reasonable to expose this setting.
Workaround: via cli set smb_options=“host msdfs = no”