this post was submitted on 04 Jun 2024
32 points (100.0% liked)

Selfhosted

39980 readers
219 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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.

top 18 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 5 months ago (1 children)

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.

[–] [email protected] 3 points 5 months ago

This. NFS on Windows is a real pain.

[–] [email protected] 13 points 5 months ago (1 children)

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.

[–] [email protected] 4 points 5 months ago (1 children)

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

[–] [email protected] 2 points 5 months ago* (last edited 5 months ago)

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

[–] [email protected] 11 points 5 months ago (1 children)

Why not all? Add SFTP (file transfer over SSH) to the mix if needed.

[–] [email protected] 9 points 5 months ago

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.

[–] [email protected] 9 points 5 months ago (1 children)

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

[–] [email protected] 7 points 5 months ago (1 children)

SMB works fine on everything. Whatever NAS they are running will be using the same Samba implementation anyway.

[–] [email protected] 11 points 5 months ago (1 children)

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

[–] [email protected] 7 points 5 months ago (1 children)

Same here, SMB was significantly slower in our organization than NFS.

[–] [email protected] 1 points 5 months ago (1 children)

Because SMB is slower than NFS. OP isn't concerned about that, but rather ease of use, and persisting perms and ownership.

[–] [email protected] 2 points 5 months ago

Fair enough, i thought it should be noted. The difference was significant at times.

[–] [email protected] 7 points 5 months ago (1 children)

SMB.

The windows nfs implementation sucks, but everything talks SMB.

[–] [email protected] 5 points 5 months ago

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.

[–] [email protected] 5 points 5 months ago* (last edited 5 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
NAS Network-Attached Storage
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
SFTP Secure File Transfer Protocol for encrypted file transfer, over SSH
SMB Server Message Block protocol for file and printer sharing; Windows-native
SSH Secure Shell for remote terminal access
SSL Secure Sockets Layer, for transparent encryption
TLS Transport Layer Security, supersedes SSL

5 acronyms in this thread; the most compressed thread commented on today has 14 acronyms.

[Thread #783 for this sub, first seen 4th Jun 2024, 06:05] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 4 points 5 months ago

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

[–] [email protected] 3 points 5 months ago

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.