SMB vs NFS for Home Network File Sharing

Run a Speed Test

SMB (Server Message Block) and NFS (Network File System) are the two dominant protocols for sharing files across a local network. SMB is the native protocol for Windows file sharing and works well with macOS and Linux clients too. NFS is the native Unix/Linux protocol and delivers higher performance on Linux-to-Linux connections. On a home NAS, you will likely run both — SMB for Windows PCs and Macs, NFS for Linux clients and Docker containers.

What SMB Does

SMB is developed by Microsoft and is the protocol behind Windows file sharing — the \\ server \ share paths you type in File Explorer. It handles authentication through Windows credentials or local NAS user accounts, file locking, directory browsing, and printer sharing. SMB version 3 (SMB3), introduced with Windows 8 and Server 2012, added encryption, multichannel (multiple network connections for higher throughput), and persistent handles for better cluster failover.

Virtually every NAS device (Synology, QNAP, TrueNAS) enables SMB by default. macOS has native SMB support and uses it to mount network drives. Linux can mount SMB shares using the cifs-utils package. SMB is the safest default choice when your NAS serves a mixed environment of Windows, Mac, and Linux clients.

What NFS Does

NFS (Network File System) was developed by Sun Microsystems in the 1980s for Unix workstation environments. It presents a remote filesystem to a Linux or Unix client as if it were a local directory — no drive letters, no UNC paths, just a mount point. NFS version 4 (NFSv4) is the current standard and supports strong authentication via Kerberos, delegation, and ACLs.

NFS delivers better performance than SMB for Linux-to-Linux file transfers because it has lower overhead and better handling of the Linux VFS (virtual filesystem) layer. For a homelab where you are mounting NAS storage inside Proxmox VMs or accessing it from Docker containers, NFS often outperforms SMB. It also supports file locking semantics that Unix applications expect.

Choosing Between SMB and NFS

Use SMB when: your clients are Windows PCs or Macs; you need seamless integration with Windows file permissions; the NAS serves a household with mixed devices; or you need printer sharing alongside file sharing. SMB handles authentication cleanly on Windows without extra configuration.

Use NFS when: your clients are Linux VMs or Docker containers on Proxmox; you need the best possible performance for Linux workloads; you are mounting NAS storage as a Proxmox datastore for VM disk images; or you are building applications that run inside containers and access shared storage. NFS with root squash and static UID mapping is the standard Proxmox NAS integration method.

SMB vs NFS Comparison

FactorSMB (CIFS)NFS
Developed byMicrosoftSun Microsystems (now Oracle)
Native onWindowsLinux / Unix
macOS supportYes (native)Yes (built-in mount command)
Windows supportYes (native)Limited (Windows NFS client exists but cumbersome)
AuthenticationUsername/password; Active DirectoryIP-based (NFSv3); Kerberos (NFSv4)
Performance (Linux client)GoodBetter (lower overhead)
Encryption in transitYes (SMB3)Yes (NFSv4 with Kerberos or stunnel)
Printer sharingYesNo
Proxmox NAS datastoreYes (CIFS storage)Yes (NFS storage — preferred)
Docker bind-mountPossible via cifs-utilsYes (mount -t nfs in Compose)
Best forMixed OS households, Windows primaryLinux/VM environments, homelab

Frequently Asked Questions

Can I run both SMB and NFS at the same time on a NAS?

Yes. Most NAS devices (Synology, QNAP, TrueNAS) run SMB and NFS simultaneously on the same shared folders. Windows clients connect via SMB; Linux VMs and Docker containers mount via NFS. Both protocols can read and write the same underlying files, though file permission models differ between the two protocols and may need mapping configuration on the NAS.

Is SMB3 faster than NFS?

On Linux-to-Linux connections, NFS typically outperforms SMB due to lower protocol overhead. On Windows-to-NAS connections, SMB3 with multichannel can achieve near-wire speeds over multiple NICs. For practical home NAS use (sequential reads/writes over gigabit Ethernet), both protocols saturate a 1GbE link at ~120 MB/s — the difference is only meaningful on faster 10GbE connections or with many small files.

What is CIFS and is it different from SMB?

CIFS (Common Internet File System) is an older name for the same protocol. Microsoft developed CIFS as a public specification of SMB 1.0 in the late 1990s. Modern references to SMB mean SMB2 or SMB3, which are substantially redesigned. When NAS documentation says CIFS, it means SMB compatibility. SMB1/CIFS should be disabled on your NAS and clients — it has known security vulnerabilities and is disabled by default in modern Windows versions.

How do I mount an NFS share in Linux?

Install nfs-common (Debian/Ubuntu) or nfs-utils (RHEL/Fedora). Then: sudo mount -t nfs 192.168.20.10:/volume1/data /mnt/nas. Add an entry to /etc/fstab for persistent mounting: 192.168.20.10:/volume1/data /mnt/nas nfs defaults,_netdev 0 0. The _netdev option tells the OS to wait for networking before attempting the mount at boot.

Related Guides

More From This Section