要在 Windows 11 或 10 上搭一个文件传输协议(FTP)服务器,不一定非得启用系统自带那个。用功能更扎实的 FileZilla Server 就行——它是在 Windows 11、10、8、7 乃至 Windows Server 上快速搭起 FTP 服务器最省事的方案之一。

搞 FTP 方案的核心目的,是提供一条便捷通道,让你用 FTP 客户端软件远程或本地地上传、下载文件。比如说,你想用手机、台式机或笔记本往家里的机器上传东西;等你需要的时候,再把文档之类的文件下载下来,也是同一个路子。这样一来你对数据有完全的掌控权,但后端的维护也得自己扛。好的一面是,传输量、能传什么类型的文件,都不受限。

更进一步,我们还能给朋友和家人加多个用户,用用户名和密码凭据访问同一批共享数据,安全地分享东西。

这篇 Windows 11/10 FTP 服务器搭建指南里,我们会装 FileZilla Server、创建 FTP 用户和用户组,然后告诉你怎么在局域网里、以及通过互联网远程,从 PC 或安卓手机上访问它。

如何下载 FileZilla Server

  1. 它是开源软件,可以免费下载。
  2. 去官网,或者直接用这个链接。
  3. 点那个绿色的 「Download FileZilla Server」 按钮。
  4. 它同时支持 32 位和 64 位版本。
  5. 会弹出一个窗口,点 「Download」 按钮。
  6. 把安装包保存到你的 Windows 10/8/7 系统上。

Download FileZilla Server for Windows 10

如何在 Windows 11/10 上安装 FileZilla Server

安装文件下载到本机之后,照下面的步骤装:

  1. 双击 FileZilla_Server 安装文件。
  2. 系统询问是否允许运行时,点 「是」。
  3. 接着选 「I Agree」,接受软件条款。
  4. 默认会勾选 Standard(标准)组件。会取消勾选的只有「源代码」那一项;如果你是开发者,或者想翻翻 FileZilla 的代码,也可以把那个勾上。不过通常就让它空着。

Select FileZilla components to install

  1. 点 「Next」。
  2. 目标文件夹默认设在 C 盘。不想装在那儿就改一下,否则直接点 Next。 Destination folder

  3. 想让 FileZilla Server 随 Windows 自启动,就保留默认项 「Install as a server, started with Windows」;想手动启动就选另一个。 FileZilla Server installation on WIndows 10

  4. 点下去、跟着向导走,等几秒。FileZilla 服务器就会在 Windows 11 或 10 系统上跑起来了。

连接本地 FTP 服务器

打开 FileZilla 后,它会问要不要连上这个程序在 Windows 11、10、7 或服务器版上建的本地 FTP 服务器。直接点 「Connect」 就行。

Connect to local FTP server on FileZilla

消除报错

服务器启动后,日志区会冒出两条错误:

  • You appear to be behind a NAT router. Please configure the passive mode settings and forward a range of ports in your router.(你似乎位于 NAT 路由器之后,请配置被动模式设置并在路由器中转发端口范围。)
  • Warning: FTP over TLS is not enabled; users cannot securely log in.(警告:未启用 FTP over TLS,用户无法安全登录。)

FileZilla Server error security and NAT

FTP over TLS——生成新证书

  • 先解决 FTP over TLS 那条警告:FTP over TLS is not enabled, users cannot securely log in。
  • 进 FileZilla 菜单。
  • 点 Edit(编辑),选 「Settings」(设置)。
  • 在左侧面板选 FTP over TLS Settings。
  • 勾上 「Enable FTP over TLS Settings」 那个框。
  • 点 「Generate new certificate…」(生成新证书…)按钮。
  • 填上你所在国家代码的前两个字母。
  • 点 「browse」 按钮,选一个保存生成证书的文件夹。
  • 之后直接点 「Generate Certificate」 按钮。
  • 点 「OK」,日志里的那条警告就不见了。

Generate New Certificate

FTP over TLS settings

FileZilla FTP 服务器的被动模式

那条报错说明服务器在 NAT 后面,需要启用被动模式。要消除它,在「设置」里选 Passive Mode Settings(被动模式设置)。

  • 勾上自定义端口范围的框。
  • 端口号框里填 21 到 23,或者你想用的任何自定义端口。
  • 接着选 「Use the following IP」,填上你系统的 IP 地址——这个地址应当是静态的。
  • 点 「OK」。
  • 现在回到 FileZilla 服务器,点菜单里的 「File」,选 「Connect to Server…」。
  • 这一次,上面那些错误就不会再出现了。

Set FileZilla Passive server settings

Reconnect FTP server to solve the errors

创建 FileZilla 服务器用户组

在 FileZilla 里建用户组,可以让某一组用户访问某些文件夹或文件,而别的组的用户访问不到。

下面讲创建一个组的步骤,按需照做就能建多个。

  • 还是进 「Edit」 菜单,选 「Groups」。
  • 在左侧面板选 「Shared folder」(共享文件夹)。
  • 点 「Add」 按钮,给这个组起个名。

Create FTP users group in FileZilla Server Windows 10

  • 然后指定这个组里所有用户都能访问的文件夹或分区。

Add folde to FTP server

  • 选定这个组用户在那个文件夹上有哪些写权限,比如写入、读取、删除。
  • 最后点 「OK」 保存设置。

Give folder permissions to FTP users

创建 FTP 用户

现在来创建、添加几个用户到 FTP 服务器用户组里,让他们能在本地和远程访问那些文件夹。

  • 还是进 FileZilla 的 「Edit」 菜单。
  • 这次选 「Users」。
  • 点 「Add」 按钮。
  • 输入用户名,从下拉框里选你建好的用户组。
  • 点 「OK」。
  • 然后勾上密码框,给账户设个密码。再点一次 「OK」。

Create new user

Set password for FTP users Filezilla

在本地或远程访问 FTP 服务器

访问 FTP 服务器的关键是客户端应用。你可以用 FileZilla 的客户端,或者直接在 Windows 11、10、7 的「此电脑」里把它加成一个 FTP 站点。

  • 用 FileZilla 客户端访问的话,打开它。
  • 输入你装了 FileZilla FTP 服务器那台 PC 的 IP 地址。
  • 输入本教程里创建的用户名和密码。
  • 21 是默认端口,如果你设了自定义端口就用自定义的,然后点 「Quick Connect」(快速连接)。
  • 接受证书。

注意:要远程访问 FTP 服务器,你得打开路由器,把你系统 IP 地址的 FTP 端口转发到路由器的静态 IP 地址上。做完之后,你或远程用户需要用你的公网 IP 来访问这台服务器。

Accept certificate 1

FPT server client connection

在安卓上访问 FTP 服务器

去 Play 商店下载一个 FTP 客户端应用。这里是我们用的其中一个应用的链接。

  • 打开 FTP 客户端应用。
  • 填入 FTP 服务器地址,也就是你系统的 IP;如果是远程访问,就填公网 IP。
  • 填上 FTP 服务器用户的用户名和密码。
  • 保存。
  • 点一下刚建好的服务器设置条目的文件夹图标,一切正常的话它就会自动连上。

Connect FileZilla FTP server using Android app

重要补充。一是「FTP 明文传输」这件事必须先摆在桌面上——FTP 的用户名、密码、文件内容都是明文在网络里跑的,即便按文中开了 FTP over TLS(FTPS),也只是把通道加密了,协议本身依然老旧。如果你要把它暴露在公网上,请认真考虑改用 SFTP(基于 SSH,端口 22),FileZilla 客户端支持 SFTP 但没有服务端,可以用 OpenSSH 或 WinSCP 自带的服务器。二是被动模式的端口范围设置要跟路由器转发配合——文中说「填 21 到 23」,这其实是个错误示范:21 是控制端口,不该放进被动模式的端口范围;被动模式应该选一段高位端口(例如 50000–50100),然后在路由器上把这整段端口都转发进来,同时把「External Server IP」设为你的公网 IP,否则远程客户端能登录但连上就挂(能列目录,传输时卡死)。另外提一句,FileZilla Server 从 1.0 版起重写了界面,原文的这些菜单路径(Edit → Settings / Groups / Users)在新版(1.x)里已经变成顶部菜单的 Server → Configure,思路一致但位置不同。