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

Selfhosted

37754 readers
791 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 4 weeks 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.

[–] warmaster 4 points 4 weeks ago

This. NFS on Windows is a real pain.

[–] [email protected] 13 points 4 weeks 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.

[–] mystik 4 points 4 weeks 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 4 weeks ago* (last edited 4 weeks 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 4 weeks ago (1 children)

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

[–] [email protected] 9 points 4 weeks 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 4 weeks 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

[–] just_another_person 7 points 4 weeks 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 4 weeks 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 4 weeks ago (1 children)

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

[–] just_another_person 1 points 4 weeks 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 4 weeks ago

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

[–] [email protected] 7 points 4 weeks ago (1 children)

SMB.

The windows nfs implementation sucks, but everything talks SMB.

[–] just_another_person 5 points 4 weeks 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 4 weeks ago* (last edited 4 weeks 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 4 weeks 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

[–] jqubed 3 points 4 weeks 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.