Windows 10 – How to Use NFS Client with Credentials

credentialsnfswindows

I am trying to come up with a SMB alternative solution for my network. I installed NFS Server on a windows 2016. The problem is connecting from windows 10 to that server. I spent almost a day on searching through internet but everybody are mentioning anonymous access. So is there any way to use permissions and credentials for that? I know that I can limit it to specific IP but I want to use specific user too. I am using client for NFS feature of windows 10, is there any 3rd party software that can do that with credential?

Best Answer

I am trying to come up with a SMB alternative solution for my network.

CIFS is the successor of SMB. It is mature, fast, flexible, secure, stable and widely used. There isn't really a 'alternative' (or a need for one), that's why there is no other "built in" fileserver. Except WebDAV services, though.

I installed NFS Server on a windows 2016.

If you ware using Windows Server(s) an clients I pesonally would strongly recommend using CIFS. NFS is neither built for windows file access nor feature complete. NFS is missing any authentication, has no ACL transport and lacks transport securtiy at all. Addidionally it runs in the WFA compatibility layer which isn't built for performance.

The problem is connecting from windows 10 to that server. I spent almost a day on searching through internet but everybody are mentioning anonymous access.

Yes, that is how NFS works. There is no host-to-client authentication, protocol-wise.

So is there any way to use permissions and credentials for that?

NFS does not have any authentication by design. NFS was built to allow file system access through network connections, not file (or even user) access. Authentication and/or authorization has to be provided by another channel, like kerberos or other integrated rpc solutions.

Unfortunately, integrated NFS security solutions are few and complex. Originally, the NFSv4 specification designers had intended to make mandatory support for the Simple Public Key Mechanism (SPKM3) and the Low-Infrastructure Public Key mechanism (LIPKEY) which would have allowed for the use of simple username/password authentication from a client to an arbitrary database accessible to the NFSv4 server. However, a lot of flaws were found in SPKM3/LIPKEY which could not be resolved, and so the supporting code was removed - even from from the Linux kernel itself.

I am using client for NFS feature of windows 10, is there any 3rd party software that can do that with credential?

Yes. The MAPR clients has buit-in-kerberos (but without SSO, even under windows); AXE does have rpc security, too. The package comes at around ~50$ per client. But there is, to my knowledge, no NFS client solution for windows providing comfort and performance comparable to native CIFS. And no free (or cheap/good) one. Additionally AXE can't access linux mountpoints when configures for AD authentication.

Please PM/Comment if I am wrong with this; we are implementing NFS access solutions since 2002 and weren't able to find "the one" since then.

And while implementing NFS, always remember: there is neither any encryption (which you will have to implement externally, through SSH for example) nor transport security (which would be included in SSH, though).