FTP 服务器完整搭建教程

本教程将分为以下几个部分:

ftp serv 教程
(图片来源网络,侵删)
  1. 什么是 FTP? - 理解基本概念
  2. 准备工作 - 在开始前你需要做什么
  3. 在 Windows 上搭建 FTP 服务器 (IIS) - 适合 Windows 专业版/企业版用户
  4. 在 Windows 上搭建 FTP 服务器 (FileZilla Server) - 跨平台,功能强大,推荐
  5. 在 macOS 上搭建 FTP 服务器 - 适合苹果电脑用户
  6. 如何连接到你的 FTP 服务器? - 使用客户端软件访问
  7. 重要安全事项 - 必须阅读,否则你的服务器将非常危险!
  8. 进阶配置:使用 SFTP (更安全的替代方案) - 强烈推荐

什么是 FTP?

FTP (File Transfer Protocol,文件传输协议) 是一种用于在网络上客户端和服务器之间进行文件传输的标准协议。

  • 服务器: 一台一直开着的电脑,上面存放着文件。
  • 客户端: 你的另一台电脑,通过 FTP 客户端软件连接到服务器,上传或下载文件。

FTP 的工作模式:

  • 主动模式: 客户端连接服务器的 21 号端口(控制端口),然后服务器主动连接客户端的一个随机端口(数据端口),这种模式在客户端有防火墙时可能会被阻止。
  • 被动模式: 客户端连接服务器的 21 号端口后,客户端再主动连接服务器的一个随机端口(数据端口),这种模式更常用,因为能更好地穿过客户端的防火墙。

准备工作

在开始之前,请确保你已准备好以下事项:

ftp serv 教程
(图片来源网络,侵删)
  1. 一台主机: 这台电脑将作为 FTP 服务器,它需要保持开机和联网状态。
  2. 操作系统: Windows 10/11 专业版/企业版,或者 macOS。
  3. 静态局域网 IP 地址: 这非常重要!如果你的服务器 IP 地址经常变化,客户端将无法连接。
    • 如何设置:
      • Windows: 设置 -> 网络和 Internet -> 更改适配器选项 -> 右键点击你正在使用的网络(如“以太网”或“WLAN”) -> 属性 -> 双击 "Internet 协议版本 4 (TCP/IPv4)" -> 选择 使用下面的 IP 地址,然后输入一个固定的 IP(168.1.100),子网掩码通常是 255.255.0,网关和 DNS 可以填你的路由器地址,如 168.1.1
      • macOS: 系统偏好设置 -> 网络 -> 选择你的连接 -> 高级 -> TCP/IP -> 在 配置 IPv4 中选择 手动,然后填入 IP、子网掩码和路由器地址。
  4. 关闭防火墙/杀毒软件(暂时): 在配置过程中,为了防止连接被阻止,可以先暂时关闭 Windows Defender 防火墙或第三方杀毒软件,配置完成后,再按规则重新开启。

方法一:在 Windows 上搭建 FTP 服务器 (IIS)

此方法仅适用于 Windows 10/11 专业版、企业版或教育版,家庭版没有 IIS。

步骤 1: 安装 IIS 和 FTP 服务

  1. 打开 “控制面板” -> “程序” -> “启用或关闭 Windows 功能”
  2. 在弹出的窗口中,展开 “Internet 信息服务 (IIS)”
  3. 勾选以下项目:
    • FTP 服务器
      • FTP 服务
      • FTP 扩展性
    • Web 管理工具

      IIS 管理控制台

  4. 点击 “确定”,等待 Windows 安装完成。

步骤 2: 创建 FTP 站点

  1. Win + R 键,输入 inetmgr 并回车,打开 IIS 管理器
  2. 在左侧窗口中,右键点击 “网站”,选择 “添加 FTP 站点...”
  3. 站点信息:
    • FTP 站点名称: 输入一个你喜欢的名字,MyFTP
    • 物理路径: 选择你希望作为 FTP 文件夹的路径。D:\FTP_Files注意: 这个文件夹需要先创建好,并确保 IIS_IUSRS 用户组有读取和写入权限(右键文件夹 -> 属性 -> 安全 -> 编辑 -> 添加 -> 输入 IIS_IUSRS -> 勾选 允许读取和写入)。
  4. 绑定和 SSL 设置:
    • IP 地址: 选择你之前设置的静态 IP 地址,或选择“全部未分配”。
    • 端口: FTP 默认端口是 21,可以保持不变。
    • SSL: 初学者选择“无”,如果选择“需要”,你需要配置 SSL 证书,否则无法连接。
  5. 身份验证和授权信息:
    • 匿名: 取消勾选,我们不希望任何人都能访问。
    • 基本: 勾选,这是最常用的认证方式。
    • 授权:
      • 权限: 选择“读取”和“写入”。
      • 用户: 选择“指定用户”,然后点击“选择用户”,输入你的 Windows 用户名和密码(例如你的登录账户)。
  6. 点击 “完成”

步骤 3: 配置防火墙

  1. 打开 “Windows Defender 防火墙”
  2. 点击左侧的 “允许应用或功能通过 Windows Defender 防火墙”
  3. 点击 “更改设置”(需要管理员权限)。
  4. 找到并勾选 “文件传输协议 (FTP)”,确保它在你的网络类型(如“专用”)下是勾选状态。
  5. 点击“确定”。

你的 FTP 服务器已经搭建完成!可以使用下面的方法连接测试。


方法二:在 Windows 上搭建 FTP 服务器 (FileZilla Server)

这是一个跨平台的免费开源软件,功能强大,配置灵活,强烈推荐给所有用户

ftp serv 教程
(图片来源网络,侵删)

步骤 1: 下载和安装

  1. 访问 FileZilla 官网: https://filezilla-project.org/download.php?type=server
  2. 下载并运行安装程序,安装过程非常简单,一路点击 "Next" 即可。
  3. 在配置向导中,选择 "作为服务安装",这样它就会在后台自动运行,无需手动启动。
  4. 重要: 在 "Passive mode settings" (被动模式设置) 界面:
    • 勾选 "Use the same port for control connection and data connection" (为控制连接和数据连接使用相同的端口),这能简化防火墙配置。
    • 在 "Port range for passive mode" (被动模式端口范围) 中,输入一个端口范围,50000-50010
  5. 完成安装后,FileZilla Server 界面会自动打开。

步骤 2: 添加用户和设置权限

  1. 在 FileZilla Server 界面,点击 “Edit” -> “Users”
  2. 点击 “Add” 按钮,输入一个用户名(ftpuser),然后点击“OK”。
  3. 在左侧选中你刚刚创建的用户,然后在右侧进行配置:
    • Password: 设置一个强密码。
    • General (常规):
      • Home directory (主目录): 设置这个用户的默认访问文件夹。C:\FTP\Users\ftpuser
      • Password (密码): 确认密码。
    • Shared folders (共享文件夹):
      • 点击右侧的 “Add” 按钮,添加用户需要访问的文件夹(通常就是上面设置的主目录)。
      • 权限: 勾选 Read (读取), Write (写入), Delete (删除), Append (追加) 等你需要的权限。
  4. 点击 “OK” 保存设置。

步骤 3: 配置防火墙

  1. 打开 “Windows Defender 防火墙”
  2. 点击 “高级设置”
  3. 在左侧点击 “入站规则”
  4. 在右侧点击 “新建规则...”
  5. 选择 “端口”,点击“下一步”。
  6. 选择 “TCP”,在“特定本地端口”中输入你之前在 FileZilla 中设置的端口范围,50000-50010,以及 FTP 默认的 21 端口,可以输入 21,50000-50010,点击“下一步”。
  7. 选择 “允许连接”,点击“下一步”。
  8. 勾选所有配置文件(域、专用、公用),点击“下一步”。
  9. 为规则命名,FileZilla FTP,然后点击“完成”。

你的 FileZilla FTP 服务器也配置完成了!


方法三:在 macOS 上搭建 FTP 服务器

macOS 自带了 FTP 服务器功能,但需要通过终端命令来开启。

步骤 1: 共享文件夹

  1. 打开 “系统偏好设置”
  2. 点击 “共享”
  3. 在左侧列表中,勾选 “文件共享”
  4. 在右侧的 “共享文件夹” 列表中,点击 号,添加你希望共享的文件夹。
  5. 点击下方的 “选项...” 按钮。
  6. 勾选 “使用 AFP”“使用 SMB”(为了更好的 Mac 兼容性),然后勾选 “使用 FTP”
  7. 点击 “完成”,系统会提示你输入用户名和密码来设置 FTP 访问权限,可以使用你的 Mac 登录账户。

步骤 2: 启动 FTP 服务器

  1. 打开 “终端” (可以在“应用程序” -> “实用工具”里找到)。
  2. 输入以下命令来启动 FTP 服务器:
    sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
  3. 系统会提示你输入登录密码,输入后,FTP 服务器就启动了。

步骤 3: 停止 FTP 服务器 (可选)

如果你想停止服务器,可以运行:

sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist

如何连接到你的 FTP 服务器?

你可以从局域网内另一台电脑连接到你的 FTP 服务器了。

使用 FTP 客户端软件 (推荐)

  1. 下载一个 FTP 客户端,如 FileZilla Client (免费且强大) 或 Cyberduck
  2. 打开客户端,在顶部输入以下信息:
    • 主机: 你之前设置的 FTP 服务器的局域网 IP 地址 (168.1.100)。
    • 端口: 21 (如果你没有修改过)。
    • 用户名: 你在服务器上创建的用户名 (ftpuser 或你的 Windows/macOS 用户名)。
    • 密码: 你设置的密码。
  3. 点击 “快速连接”
  4. 连接成功后,左侧是你的本地电脑文件,右侧是服务器上的文件,你可以直接拖拽文件进行上传和下载。

使用 Windows 资源管理器

  1. 打开文件资源管理器。
  2. 在顶部的地址栏输入:ftp://你的服务器IP地址 (ftp://192.168.1.100)。
  3. 系统会弹出窗口,要求你输入用户名和密码,输入后即可访问。

重要安全事项!

默认的 FTP 协议非常不安全! 所有用户名、密码和传输的文件都是以明文形式在网络中传输的,任何人使用抓包工具都能轻易窃取。

你必须采取以下措施来保护你的服务器:

  1. 不要使用匿名访问: 这是最基本的安全措施。
  2. 使用强密码: 为 FTP 用户设置复杂且不易猜测的密码。
  3. 限制访问 IP: 在 IIS 或 FileZilla Server 的设置中,你可以设置一个“允许”的 IP 地址列表,只有列表中的 IP 才能连接到你的服务器,只允许你自己的家庭 IP (45.67.89) 访问。
  4. 关闭不必要的端口: 确保除了 FTP 端口(21 和被动模式端口)外,没有其他不必要的端口对外开放。
  5. 终极方案:使用 SFTP (SSH File Transfer Protocol)

进阶配置:使用 SFTP (更安全的替代方案)

SFTP 不是 FTP 的升级版,而是基于 SSH (Secure Shell) 协议的文件传输协议,它通过加密通道传输所有数据(包括密码),安全性极高。

如果你只是想安全地在几台设备间传输文件,强烈建议你使用 SFTP,而不是 FTP。

如何使用 SFTP?

SFTP 通常和 SSH 服务器捆绑在一起。

  • 在 Windows 上 (使用 OpenSSH):

    1. 在 Windows 功能中启用 “OpenSSH 服务器”
    2. 启动后,它会自动在 22 端口运行一个 SSH 服务器。
    3. 你可以使用你的 Windows 用户名和密码通过 SFTP 客户端连接。
    4. 连接时,在客户端的“协议”中选择 SFTP,主机 IP 不变,端口填 22
  • 在 macOS 上:

    1. macOS 默认已安装并启动了 SSH 服务器。
    2. 同样,使用 SFTP 客户端,连接到你的 Mac 的局域网 IP,端口 22,使用你的 Mac 用户名和密码登录。
特性 FTP (不安全) SFTP (安全)
协议 文件传输协议 安全文件传输协议 (基于 SSH)
端口 21 22
加密 (明文传输) (全程加密)
推荐度 不推荐,仅用于学习或内网临时传输 强烈推荐,所有场景下的首选

希望这份详细的教程能帮助你成功搭建和管理自己的 FTP 服务器!祝你使用愉快!