I am running a NAS that needs to connect to a server (the NAS isn’t powerful enough). I also need to connect my NAS to a Windows, Mac, and Linux device (Linux being the most important, then Mac, then Windows). Out of SMB, FTP, and NFS, which one would be the best, quickest, and most secure for my situation? My NAS supports multiple sharing protocols, but I don’t want to deal with mixed up permissions and conflicts later on.
Unless you’re hosting VHDs and need maximum throughput (in which case use NFS), SMB is going to be the easiest to setup and maintain across those 4 platforms.
The Linux SMB implementation is decent and supports the latest version of the protocol (or close to, at least) whereas NFS in Windows ain’t so great and is a bit of a pig to get working in my experience.
This. NFS on Windows is a real pain.
You can use both without issue. I use NFS to share between two Linux servers (unraid and proxmox/dockers) and then some of those same folders are shared via smb for desktop windows or Linux laptop.
Depending on your use cases and apps, file locking can be problematic when sharing across SMB and NFS simultaneously, their locking semantics are slightly different
Fair enough, I primarily use NFS for Linux to Linux sever communication and high file access.
Smb is mostly for moving files around occasionally
Not sure if trying to run a database over smb is a good idea but I do it on NFS all the time
Regardless it doesn’t have to be exclusive. OP can change it up depending on the application
Why not all? Add SFTP (file transfer over SSH) to the mix if needed.
I would stick with SMB and SSH(SFTP). SMB for content sharing and accessible on any device like PCs or phones. SSH, which includes SFTP, for accessing everything else on the server.
SMB for the windows clients, possibly NFS as well for the others. *nix will talk with SMB fine, but NFS may be faster. Windows’ NFS support is shit though.
Running both daemons won’t really add much overhead
SMB works fine on everything. Whatever NAS they are running will be using the same Samba implementation anyway.
I’ve found SMB to more frequently have connection issues with my Linux clients, and often be slower. It’ll work, but if you’re mainly supporting Linux clients, might as well set up NFS if you like toying with things anyways
Same here, SMB was significantly slower in our organization than NFS.
Because SMB is slower than NFS. OP isn’t concerned about that, but rather ease of use, and persisting perms and ownership.
Fair enough, i thought it should be noted. The difference was significant at times.
SMB.
The windows nfs implementation sucks, but everything talks SMB.
It’s going to be SMB just because you want things to work, and user perms synced to the host. It’s the same Samba implementation anyway.
FTP, unless you are using it over TLS (FTPS) transfers authentication information in the clear and transfers files in the clear.
SMB and NFS both can, depending upon implementation and configuration, be set up to do encrypted transport. Note that it is possible to have either doing secure authentication but not secure transport of data.
From a quick search, it looks like at least some Synology NASes can do secure NFS:
https://kb.synology.com/en-us/DSM/tutorial/what_can_i_do_to_encrypt_data_transmission_when_using_nfs
As well as SMB:
https://kb.synology.com/en-us/DSM/help/SMBService/smbservice_smb_settings?version=7
As well as FTPS:
https://kb.synology.com/en-global/DSM/help/DSM/AdminCenter/file_ftp_setting?version=7
I can’t comment on Linux, but IIRC SMB was best for situations needing both Mac and Windows, so I’d guess that’s the choice. Totally off memory, though.