最近在使用iPad Pro投屏Netflix时遇到问题,投影仪提示支持FTP、SAMBA和NFS。这让我意识到这些协议在文件传输中的重要性。

在实际操作过程中,投影仪给出FTP、SAMBA、NFS的选项。正好做知识普及。那就介绍介绍FTP、SAMBA、NFS的介绍吧。

什么是FTP?

FTP概念

FTP是文件传输协议(File Transfer Protocol),本身是一个协议,很多工具基于协议构建了应用。

常见的Windows在 Windows中可以开启FTP,已使用

但是本文介绍FTP衍生的外部应用FileZilla(图形界面、功能更加强大)。

FTP应用 - FileZilla

FileZilla官网:https://www.filezilla.cn/

服务器安装

服务端下载地址:https://www.filezilla.cn/download/server

指定服务IP、端口

开启SSL证书

解决同网段425 Can't open data connection for transfer of "/" 报错

这里看个人情况设置。

我是遇到本地服务器,通过DDNS转发,能连接,但是报错425 Can't open data connection for transfer of "/" 。我去路由器配置DMZ主机设置IP为FTP服务器的IP外网就能访问了。

添加账号

给账号文件夹的读写权限

客户端安装与使用

FileZilla Client下载地址:https://www.filezilla.cn/download/client

这里我只放上了Mac的端的使用。Windows使用大同小异。

什么是SAMBA?

SMB 是协议,Samba 是实现。

  • SMB(Server Message Block):一种网络文件共享协议,定义了“怎么访问文件和打印机共享”。
  • Samba:一个开源软件套件,是 SMB/CIFS 协议在 Linux/Unix 系统上的实现

换句话说:

Windows 自带 SMB 服务,而 Linux 通过安装 Samba 才能使用。

🧩 一、什么是 SMB?

SMB(Server Message Block) 是一种用于网络文件共享和资源访问的协议。

它让不同的电脑能够在局域网中:

  • 共享文件、文件夹;
  • 使用共享打印机;
  • 访问远程资源(如共享硬盘)。

简单说:SMB 是 Windows 系统文件共享的“底层语言”。

 二、SMB 的主要用途

用途说明
文件共享让其他电脑访问本机上的文件目录(如 \\192.168.0.10\docs
打印共享让其他电脑或设备使用本机的共享打印机
远程访问资源通过网络挂载远程文件夹,像本地磁盘一样操作

🌐 三、SMB 的历史与版本

SMB 版本别名特点
SMBv1CIFS(Common Internet File System)最早版本,效率低,安全性弱(Windows 10 默认关闭)
SMBv2引入于 Windows Vista/Server 2008提高性能,减少网络请求次数
SMBv3Windows 8/Server 2012 起支持加密传输、更高安全性、更适合服务器环境

⚙️ 四、工作原理概述

通信端口:

  • TCP 445(主端口)
  • TCP/UDP 139(旧版使用)

运作机制:

  1. 客户端通过 SMB 协议连接到服务器端口 445。
  2. 发起身份验证(用户名、密码或匿名)。
  3. 获取共享资源清单并访问指定目录。
  4. 服务器响应文件读写、锁定、目录查询等请求。

 五、安全与优化

  • 关闭 SMBv1:它存在安全漏洞,建议仅启用 SMBv2/SMBv3。
  • 使用权限控制:通过 Windows 用户账户或域账号管理访问权限。
  • 加密支持:SMBv3 可在传输层加密数据,防止中间人攻击。
  • 网络防火墙:需开放 TCP 445 端口,防止外部非法访问。

 六、不同操作系统使用

假设你的smb地址是 192.168.0.1

  • smb://192.168.0.1 这种地址写法在 macOSLinux 的文件管理器中是正确的。
  • Windows 下则用 我的电脑 地址栏输入  \\192.168.0.1 格式。

如果Windows打不开:在“控制面板 → 程序 → 启用或关闭Windows功能”中启用 SMB1.0,或使用 SMBv2/v3

「实战测试」SAMBA常见应用 - Windows共享文件夹

在Windows设置共享文件夹就是这个意思:

添加一个Windows的用户,或者选择everyone。点击添加,然后选择权限级别(读写权限,一般建议设置为读,不要给写入权限)

【可选】注册一个用户

创建网络共享

配置网络共享

关闭”密码保护共享”

如果你允许所有人操作,你可以关闭密码保护的共享关闭密码,请设置:

测试SAMBA

Mac可以在访达 - 前往 - 前往服务器 访问我们刚才共享的文件夹

什么是NFS?

此部分,我未进行尝试,只是一些相关总结。

NFS(Network File System,网络文件系统) 是一种用于在计算机之间共享文件和目录的网络协议。它让你在一台电脑上就能像访问本地硬盘一样访问另一台电脑的文件。


🧩 一、简单解释

你可以把 NFS 理解成:

“让多台服务器共享同一文件夹,就像大家访问自己的本地磁盘一样。”

在 Linux 或 Unix 系统中,它非常常见,用来共享日志、配置、数据文件、镜像等。


🧱 二、NFS 的工作原理

  1. 服务器端(NFS Server)
    • 提供共享目录(比如 /data/share)。
    • 设置哪些客户端可以访问、访问权限(读写、只读等)。
  2. 客户端(NFS Client)
    • 把服务器的共享目录“挂载”(mount)到自己的文件系统,比如:bashmount -t nfs 192.168.0.10:/data/share /mnt/share
    • 挂载后 /mnt/share 就像本地目录,可以直接读写。
  3. 使用的端口
    • 通常使用 2049 TCP/UDP 端口通信。
    • RPC 协议协调访问。

💡 三、和 SMB 的区别

对比项目NFSSMB/CIFS
主要使用系统Linux/UnixWindows
默认端口2049445、139
协议风格基于 RPC(轻量)基于 NetBIOS/SMB
典型用法服务器间文件共享、集群存储桌面文件共享、工作组共享
支持访问控制支持 UID/GID 权限控制支持用户/密码控制

🔧 四、典型使用场景

  1. 服务器之间共享数据或镜像
    • 比如多台应用服务器从同一个 NFS 获取配置文件。
  2. Docker 或集群存储
    • 多个容器共享挂载目录。
  3. 数据库或日志集中存储
    • 集中存储备份文件、共享日志文件。

🖥️ 五、示例(Linux 配置)

NFS 服务端

安装并配置共享目录:

bash

sudo apt install nfs-kernel-server
echo "/data/share 192.168.0.0/24(rw,sync,no_root_squash)" | sudo tee -a /etc/exports
sudo exportfs -ra
sudo systemctl start nfs-server

NFS 客户端

挂载共享目录:

bash

sudo apt install nfs-common
sudo mount -t nfs 192.168.0.10:/data/share /mnt/share

之后 /mnt/share 就像本地目录一样使用。


✅ 六、总结

项目内容
名称Network File System(网络文件系统)
作用使不同主机共享文件目录
常用系统Linux、Unix
默认端口2049
优势简洁高效,适合服务器间网络文件共享
与 SMB 区别SMB 常用于 Windows 桌面共享,NFS 常用于 Linux 服务器共享
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤

免责声明:
本站文章旨在总结学习互联网技术过程中的经验与见解。任何人不得将其用于违法或违规活动!所有违规内容均由个人自行承担,与作者无关。