云计算百科
云计算领域专业知识百科平台

实验五 Windows Server 2022/2025 搭建 FTP 服务器实验指导书

作者:非凡大爹|版本:v1|日期:2026-04-20|DocID:CN-LAB-2026-04-FTP-LG-V2 原创声明:本文为作者原创实验教学资料,首发于 CSDN。 版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。 引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。 版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。

文章目录

  • 实验五:Windows Server 2022/2025 搭建 FTP 服务器实验指导书
    • 摘要
    • 适用对象
  • 实验场景导入
  • 一、实验目标
  • 二、实验原理与术语解释
    • 2.2 控制连接与数据连接
      • 1. 控制连接
      • 2. 数据连接
    • 2.3 主动模式与被动模式
      • 1. 主动模式(PORT)
      • 2. 被动模式(PASV)
    • 2.4 为什么 FTP 不能只记 21 端口
    • 2.5 匿名访问与用户名访问
      • 1. 匿名访问
      • 2. 用户名访问
    • 2.6 IIS 授权规则与 NTFS 权限
      • 1. IIS 授权规则
      • 2. NTFS 权限
    • 2.7 FTP 与 FTPS
    • 2.8 域名访问 FTP 服务器的原理
      • 1. 域名访问的本质
      • 2. 为什么实验中要补充域名访问
      • 3. FTP 与域名访问的关系
  • 三、实验环境与地址规划
    • 3.1 实验环境
      • 服务器端
      • 客户端
    • 3.2 地址规划示例
    • 3.3 域名规划
    • 3.4 实验拓扑
  • 四、实验前准备
    • 4.1 配置服务器静态地址
    • 4.2 配置 Windows 11 客户端地址
    • 4.3 基础连通性测试
  • 五、实验过程安排
    • 第一部分:FTP 服务器的基本配置与验证测试
    • 第二部分:扩展补充实验
  • 六、第一部分:FTP 服务器的基本配置与验证测试
    • 6.1 创建本地用户并规划 FTP 根目录
      • 6.1.1 创建本地用户
      • 6.1.2 规划 FTP 根目录
    • 6.2 设置 NTFS 文件权限
      • 6.2.1 给 ftpuser 目录授权
      • 6.2.2 给 Public 目录授权
    • 6.3 安装 IIS FTP 服务
    • 6.4 创建 FTP 站点(用户名登录方式)
      • 6.4.1 创建站点
      • 6.4.2 配置绑定和 SSL
      • 6.4.3 配置身份验证与授权
    • 6.5 检查防火墙
    • 6.6 配置并验证通过域名访问 FTP 服务器
      • 6.6.1 实验目的
      • 6.6.2 配置 DNS 解析记录
      • 6.6.3 检查客户端 DNS 配置
      • 6.6.4 使用 nslookup 验证域名解析
      • 6.6.5 使用 ping 验证名称解析结果
  • 七、基础验证测试一:Windows 11 图形化访问验证
    • 7.1 使用 IP 地址进行图形化访问
    • 7.2 使用域名进行图形化访问
    • 7.3 图形化方式验证内容
    • 7.4 建议准备的测试文件
  • 八、基础验证测试二:Windows 11 CMD 命令行访问验证
    • 8.1 打开 CMD 并通过 IP 连接 FTP 服务器
    • 8.2 使用域名连接 FTP 服务器
    • 8.3 先分清两个“当前目录”
      • 1. 当前远程目录
      • 2. 当前本地目录
    • 8.4 切换本地目录:决定下载文件保存在哪里
    • 8.5 查看远程文件列表
    • 8.6 切换远程目录
    • 8.7 文件下载:get 命令详解
      • 情况 1:下载到当前本地目录
      • 情况 2:下载时重命名本地文件名
    • 8.8 文件上传:put 命令详解
      • 情况 1:上传当前本地目录中的文件
      • 情况 2:上传时修改服务器端文件名
      • 情况 3:文件不在当前本地目录
    • 8.9 批量下载与批量上传
      • 批量下载
      • 批量上传
      • 关闭逐个确认提示
    • 8.10 文本模式与二进制模式
      • 文本模式
      • 二进制模式
    • 8.11 一组完整的命令行示例
      • 结果说明
    • 8.12 关于 pull 命令的说明
  • 九、第二部分:扩展补充实验
    • 9.1 匿名登录实验
      • 9.1.1 配置思路
      • 9.1.2 IIS 设置
      • 9.1.3 NTFS 权限
      • 9.1.4 匿名访问验证
    • 9.2 用户名登录实验回顾
    • 9.3 FileZilla 客户端实验
      • 基本连接参数
    • 9.4 被动模式与 FTP 防火墙支持实验
      • 配置目的
      • 建议配置
    • 9.5 FTPS 加密实验
      • 目的
      • 基本步骤
      • 域名与证书的关系
    • 9.6 Wireshark 抓包对比实验
      • 抓普通 FTP
      • 抓 FTPS
  • 十、常见故障与排查方法
    • 10.1 能 ping 通,但 FTP 无法连接
    • 10.2 能登录,但目录列表打不开
    • 10.3 能登录,但无法上传
    • 10.4 下载后找不到文件
    • 10.5 图片或压缩包传输后损坏
    • 10.6 匿名登录失败
    • 10.7 域名访问 FTP 服务器失败
      • 1. 先查 DNS 服务器地址是否配置正确
      • 2. 再查域名是否能解析
      • 3. 检查解析结果是否正确
      • 4. 检查 FTP 服务本身是否正常
  • 十一、实验结果判定标准
  • 十二、实验报告要求
    • 12.1 实验基本信息
    • 12.2 实验目的
    • 12.3 实验环境
    • 12.4 实验原理
    • 12.5 实验过程
    • 12.6 关键截图要求
    • 12.7 实验结果与分析
    • 12.8 实验总结与心得
  • 十三、实验总结
  • 参考文献

实验五:Windows Server 2022/2025 搭建 FTP 服务器实验指导书

摘要

本实验旨在让学生掌握在 Windows Server 2022/2025 上安装与配置 IIS FTP 服务 的方法,理解 FTP 的控制连接、数据连接、主动模式与被动模式,能够完成本地用户创建、FTP 根目录规划、NTFS 权限设置、FTP 站点创建、防火墙配置,并通过 Windows 11 客户端 进行图形化与命令行验证。实验进一步补充 DNS 域名解析与 FTP 服务访问 的关系,使学生能够通过域名而不仅仅是 IP 地址访问 FTP 服务器。扩展部分引入 FileZilla、FTPS 和 Wireshark,帮助学生比较明文 FTP 与加密 FTPS 的差异,提升服务部署、结果验证、安全分析与故障排查能力。

适用对象

适用于计算机类、信息类、网络空间安全类相关专业学生。


实验场景导入

在这里插入图片描述

图 1 实验拓扑图(客户端设备为 Windows 11)

在真实工作和生活中,FTP 服务器常见于课程资源共享、软件安装包分发、实验素材交换、部门资料上传、内部网站更新和自动化备份等场景。虽然今天出现了更多云存储和 Web 上传方式,但 FTP/FTPS 仍然是理解“网络服务如何被部署、被访问、被验证、被加固”的典型入门实验。 在这里插入图片描述

图 2 实验总体拓扑图

本实验延续前面 Web 服务器与 DNS 服务器实验的风格:先从一个最基础、最可操作的局域网服务做起,让学生明确服务器端与客户端各自需要完成什么配置;然后再通过验证测试和安全扩展,把‘能搭起来’提升到‘能正确验证、能发现风险、能做初步加固’。

一、实验目标

通过本实验,学生应能够达到以下目标:

  • 理解 FTP(File Transfer Protocol,文件传输协议) 的基本工作原理。

  • 理解 FTP 的 控制连接、数据连接、主动模式 与 被动模式。

  • 掌握在 Windows Server 2022/2025 中安装 IIS FTP 服务器 的方法。

  • 掌握 本地用户创建、FTP 根目录规划、NTFS 文件权限设置 和 IIS 授权规则设置。

  • 能够配置并测试两种典型访问方式:

    • 匿名访问

    • 基于用户名和密码的访问

  • 能够在 Windows 11 客户端 上通过以下方式验证 FTP 服务:

    • 文件资源管理器访问

    • CMD 命令行访问

  • 掌握常见 FTP 命令的使用,特别是:dir、cd、lcd、pwd、get、put、mget、mput、binary、ascii。

  • 理解 IIS 授权规则 与 NTFS 权限 的配合关系。

  • 在扩展实验中,了解 FileZilla、FTPS 和 Wireshark 抓包分析 的基本使用方法。

  • 理解 DNS 域名解析 与 FTP 服务访问之间的关系,能够通过 域名 而不仅仅是 IP 地址访问 FTP 服务器,并完成解析验证与故障排查。


  • 二、实验原理与术语解释

    在这里插入图片描述

    图 3 FTP 与 FTPS 工作原理示意图
    ## 2.1 FTP 的基本概念

    FTP(File Transfer Protocol,文件传输协议) 是应用层协议,主要用于在客户端与服务器之间传输文件。FTP 采用 客户端/服务器(Client/Server) 模式工作:客户端向服务器发送命令,服务器根据命令完成目录浏览、文件上传、文件下载等操作,并将结果返回给客户端。

    FTP 基于 TCP 工作,但与很多常见应用协议不同,FTP 一次会话通常包含两类连接:控制连接 和 数据连接。

    2.2 控制连接与数据连接

    1. 控制连接

    控制连接用于传输 FTP 命令和服务器响应信息。 常见命令包括:

    • USER

    • PASS

    • PWD

    • CWD

    • LIST

    • RETR

    • STOR

    FTP 控制连接默认使用 TCP 21 端口。 它通常在整个 FTP 会话期间保持存在,可以把它理解为:

    客户端和服务器之间持续存在的“对话通道”。

    2. 数据连接

    数据连接用于传输真正的数据内容,例如:

    • 目录列表

    • 上传的文件

    • 下载的文件

    也就是说,真正的文件内容传输并不走控制连接,而是走单独建立的数据连接。 可以把它理解为:

    真正搬运目录信息和文件内容的“数据通道”。

    2.3 主动模式与被动模式

    FTP 的数据连接建立方式主要有两种:主动模式(PORT) 和 被动模式(PASV)。

    1. 主动模式(PORT)

    在主动模式下:

  • 客户端先连接服务器 21 端口,建立控制连接。

  • 客户端告诉服务器自己打开了哪个高位端口。

  • 服务器再从数据侧主动连接客户端指定端口。

  • 双方建立数据连接并传输目录列表或文件。

  • 主动模式的特点是:

    • 服务器主动连客户端

    • 在防火墙或 NAT 环境中可能不易通过

    2. 被动模式(PASV)

    在被动模式下:

  • 客户端先连接服务器 21 端口,建立控制连接。

  • 客户端请求服务器进入被动模式。

  • 服务器开放一个高位端口并告诉客户端。

  • 客户端主动连接服务器给出的端口,建立数据连接并传输数据。

  • 被动模式的特点是:

    • 客户端始终主动发起连接

    • 更适合现代局域网、防火墙和 NAT 环境

    • 图形化客户端常默认优先使用被动模式

    2.4 为什么 FTP 不能只记 21 端口

    很多初学者只记住“FTP 用 21 端口”,这是不完整的。

    必须明确:

    • 21 端口:控制连接

    • 数据连接端口:与主动模式、被动模式有关

    这也是为什么在实验中会出现这样的现象:

    • 可以登录,但目录列表打不开

    • 可以连接,但文件上传或下载失败

    这些问题很多时候不是用户名或站点配置错误,而是 数据连接端口、防火墙或被动模式配置 的问题。

    2.5 匿名访问与用户名访问

    1. 匿名访问

    匿名访问是指:

    • 用户不需要输入真实用户名和密码

    • 以匿名身份访问 FTP 站点

    适合:

    • 公共资料下载

    • 实验文件共享

    • 公开资源分发

    通常建议:

    • 只开放读取权限

    • 不开放写入权限

    2. 用户名访问

    用户名访问即要求用户输入:

    • 用户名

    • 密码

    适合:

    • 内部资料交换

    • 受控上传下载

    • 需要权限区分的实验环境

    2.6 IIS 授权规则与 NTFS 权限

    这是学生最容易混淆的地方。

    1. IIS 授权规则

    IIS 授权规则决定的是:

    哪些用户逻辑上允许访问这个 FTP 站点。

    2. NTFS 权限

    NTFS 权限决定的是:

    操作系统文件系统层面,该用户对目录和文件到底能做什么。

    因此可以把两者理解为:

    • IIS 授权规则:门口保安,决定能不能进门

    • NTFS 权限:进入房间后,决定能不能看、能不能写、能不能删

    二者必须同时满足。 否则会出现如下情况:

    • IIS 允许,但 NTFS 不允许:可以登录却无法上传

    • NTFS 允许,但 IIS 不允许:仍然无法通过 FTP 正常访问

    2.7 FTP 与 FTPS

    传统 FTP 的主要问题是:

    • 用户名明文传输

    • 密码明文传输

    • 文件内容通常也可被抓包观察

    因此 FTP 在安全性上存在明显不足。

    FTPS(FTP over SSL/TLS) 是在 FTP 基础上加入 SSL/TLS 加密 的方式,它可以对登录凭据和传输内容进行加密,降低明文泄露风险。 在本实验扩展部分,学生将通过 Wireshark 对比 FTP 和 FTPS 的抓包结果。

    2.8 域名访问 FTP 服务器的原理

    在实际网络环境中,用户通常不会直接记忆服务器的 IP 地址,而是更习惯通过 域名 访问网络服务。FTP 服务器也是如此。

    例如:

    • 通过 IP 访问:ftp://192.168.10.10

    • 通过域名访问:ftp://ftp.lab.test

    1. 域名访问的本质

    当客户端输入域名访问 FTP 服务器时,实际过程并不是“直接连域名”,而是先经过 DNS(Domain Name System,域名系统)解析:

  • 客户端先把域名提交给 DNS 服务器查询

  • DNS 服务器返回该域名对应的 IP 地址

  • 客户端再根据解析得到的 IP 地址去连接 FTP 服务器

  • 也就是说:

    域名访问 FTP,本质上仍然是先“名字解析成地址”,再“根据地址访问服务”。

    2. 为什么实验中要补充域名访问

    加入域名访问验证后,学生能够进一步理解:

    • 网络服务不只是“服务程序开起来”就够了

    • 还要有正确的 名称解析

    • 客户端要配置正确的 DNS 服务器

    • 故障排查时,必须区分:

      • 是 FTP 服务本身有问题

      • 还是 DNS 解析有问题

    3. FTP 与域名访问的关系

    FTP 服务本身不依赖域名才能运行,用 IP 地址也可以访问。 但在真实环境中,域名访问更符合使用习惯,也更便于:

    • 用户记忆

    • 服务迁移

    • 多站点管理

    • 后续配置 FTPS 证书


    三、实验环境与地址规划

    3.1 实验环境

    服务器端

    • 操作系统:Windows Server 2022 或 Windows Server 2025

    • 角色服务:Web Server(IIS)、FTP Server

    • 可保留已有服务:

      • Web 服务器

      • DNS 服务器

      • DHCP 服务器

    • 新增服务:

      • FTP 服务器

    客户端

    • 操作系统:Windows 11

    • 用途:

      • 图形化访问 FTP

      • CMD 命令行访问 FTP

      • 扩展实验中使用 FileZilla、Wireshark

    3.2 地址规划示例

    设备/服务操作系统IP 地址子网掩码默认网关DNS
    服务器 Windows Server 2022/2025 192.168.10.10 255.255.255.0 192.168.10.1 192.168.10.10
    客户端 Windows 11 192.168.10.20 255.255.255.0 192.168.10.1 192.168.10.10

    说明:若实验室已使用统一网段,可根据实际情况调整,但需保证服务器地址固定、客户端与服务器互通。

    3.3 域名规划

    为了完成“通过域名访问 FTP 服务器”的实验,可在已有 DNS 服务基础上增加如下名称规划:

    服务域名对应 IP 地址说明
    FTP 服务器 ftp.lab.test 192.168.10.10 用于客户端通过域名访问 FTP 服务

    说明: lab.test 为实验用内部测试域名,适合教学环境使用。 其中 ftp 为主机名,完整域名为 ftp.lab.test。

    3.4 实验拓扑

    建议插入实验拓扑图。

    图 5-1 实验五 FTP 服务实验拓扑图

    拓扑中建议包括:

    • Web 服务器

    • DNS 服务器

    • DHCP 服务器

    • FTP 服务器

    • 交换机

    • Windows 11 客户端

    如果多项服务部署在同一台服务器上,可在图中标注为: Windows Server 2022/2025:WEB / DNS / DHCP / FTP


    四、实验前准备

    4.1 配置服务器静态地址

    在 Windows Server 上配置静态 IP,例如:

    • IP 地址:192.168.10.10

    • 子网掩码:255.255.255.0

    • 默认网关:192.168.10.1

    • DNS:192.168.10.10

    4.2 配置 Windows 11 客户端地址

    若通过 DHCP 自动获取即可,确认客户端获取到正确地址。 若手工配置,可设置为:

    • IP 地址:192.168.10.20

    • 子网掩码:255.255.255.0

    • 默认网关:192.168.10.1

    • DNS:192.168.10.10

    4.3 基础连通性测试

    在 Windows 11 客户端中打开 CMD,执行:

    ping 192.168.10.10

    若能正常收到回复,说明网络基本连通。


    五、实验过程安排

    为了符合学生“先搭起来、再验证、再理解、再扩展”的学习规律,本实验分为两个部分:

    第一部分:FTP 服务器的基本配置与验证测试

    完成一个最小可用 FTP 服务闭环,包括:

  • 创建用户

  • 规划 FTP 根目录

  • 设置 NTFS 权限

  • 安装 IIS FTP 服务

  • 创建 FTP 站点

  • 配置 DNS 记录,实现域名访问

  • 使用 Windows 11 图形化方式验证

  • 使用 Windows 11 CMD 命令行验证

  • 第二部分:扩展补充实验

    在基础实验完成后,再完成以下扩展内容:

  • 匿名访问实验

  • FileZilla 客户端实验

  • 被动模式与防火墙支持实验

  • FTPS 加密实验

  • Wireshark 抓包分析实验


  • 六、第一部分:FTP 服务器的基本配置与验证测试

    6.1 创建本地用户并规划 FTP 根目录

    6.1.1 创建本地用户

    在服务器端:

  • 右击“此电脑”→“显示更多选项”→“管理”

  • 进入“本地用户和组”→“用户”

  • 右击空白处→“新用户”

  • 创建用户:

    • 用户名:ftpuser

    • 密码:自行设定,例如:P@ssw0rd123

    建议根据实验室要求设置:

    • 取消“用户下次登录时须更改密码”

    • 可根据需要勾选“密码永不过期”

    6.1.2 规划 FTP 根目录

    建议不要将 FTP 目录直接建在系统盘根目录下。 推荐创建目录:

    D:\\FTPRoot

    并在其下创建两个子目录:

    D:\\FTPRoot\\Public
    D:\\FTPRoot\\ftpuser

    目录含义如下:

    目录用途
    D:\\FTPRoot\\Public 匿名访问实验用公共目录
    D:\\FTPRoot\\ftpuser 用户名登录实验用个人目录

    这样设计便于后续做匿名访问与实名访问的对比实验。


    6.2 设置 NTFS 文件权限

    6.2.1 给 ftpuser 目录授权

    右击 D:\\FTPRoot\\ftpuser → “属性” → “安全” → “编辑” → “添加”。

    添加用户:

    ftpuser

    建议授予以下权限:

    • 读取

    • 写入

    • 修改

    这样 ftpuser 才能在自己的目录中:

    • 查看文件

    • 上传文件

    • 下载文件

    • 删除或修改自己上传的文件

    6.2.2 给 Public 目录授权

    为了便于匿名访问实验,建议将 D:\\FTPRoot\\Public 设置为只读公共目录。

    教学中建议:

    • 允许读取

    • 不允许写入

    • 不允许删除


    6.3 安装 IIS FTP 服务

    在服务器端打开:

    服务器管理器 → 管理 → 添加角色和功能

    按如下步骤操作:

  • 选择“基于角色或基于功能的安装”

  • 选择当前服务器

  • 在“服务器角色”中勾选 Web 服务器(IIS)

  • 在角色服务中勾选:

    • FTP Service

    • FTP Extensibility

  • 完成安装

  • 安装完成后,打开:

    工具 → Internet Information Services (IIS) 管理器

    确认左侧能看到服务器与“站点”节点。


    6.4 创建 FTP 站点(用户名登录方式)

    6.4.1 创建站点

    在 IIS 管理器中:

  • 右击“站点”

  • 选择“添加 FTP 站点”

  • 输入:

    • 站点名称:FTP_UserSite

    • 物理路径:D:\\FTPRoot

    点击“下一步”。

    6.4.2 配置绑定和 SSL

    基础实验建议先设置为:

    • IP 地址:服务器本机 IP,例如 192.168.10.10

    • 端口:21

    • 启动 FTP 站点:勾选

    • SSL:选择 无 SSL

    说明:基础实验先完成普通 FTP,FTPS 放到扩展实验中。

    6.4.3 配置身份验证与授权

    建议设置为:

    • 匿名:禁用

    • 基本:启用

    授权规则设置为:

    • 指定的用户:ftpuser

    • 权限:读取、写入

    点击“完成”。


    6.5 检查防火墙

    在服务器端检查 Windows Defender 防火墙规则,确保至少允许:

    • TCP 21

    基础实验阶段先保证普通 FTP 可以连通即可。 被动模式相关端口范围放到扩展实验中配置。


    6.6 配置并验证通过域名访问 FTP 服务器

    6.6.1 实验目的

    在已经能够通过 IP 地址访问 FTP 服务器的基础上,进一步完成:

  • 在 DNS 服务器中为 FTP 服务器配置名称解析

  • 在 Windows 11 客户端验证域名能否正确解析

  • 使用域名而不是 IP 地址访问 FTP 服务器

  • 这样学生能够完整理解:

    “搭建服务” + “配置名称解析” + “客户端访问验证” 才构成一个更完整的网络服务实验闭环。

    6.6.2 配置 DNS 解析记录

    如果实验环境中已经有可用的 DNS 服务器,则可直接在该 DNS 服务器上添加记录。 若 DNS 服务就部署在这台 Windows Server 上,也可直接在本机完成以下配置。

    操作步骤:

  • 在服务器端打开: 服务器管理器 → 工具 → DNS

  • 在左侧展开服务器名称

  • 找到 正向查找区域

  • 如果已经存在实验区域,如 lab.test,直接使用;如果不存在,则先创建新的正向查找区域:

    • 区域名称:lab.test
  • 在 lab.test 区域中右击空白处,选择: 新建主机(A 或 AAAA)

  • 输入主机记录:

    • 名称:ftp

    • IP 地址:192.168.10.10

  • 点击“添加主机”

  • 添加成功后,即表示建立了如下映射关系:

    ftp.lab.test –> 192.168.10.10

    6.6.3 检查客户端 DNS 配置

    在 Windows 11 客户端中,必须确保 DNS 服务器地址配置正确,例如:

    • DNS:192.168.10.10

    如果客户端 DNS 没有指向实验中的 DNS 服务器,即使 FTP 服务正常,也无法通过域名访问。

    6.6.4 使用 nslookup 验证域名解析

    在 Windows 11 客户端打开 CMD,输入:

    nslookup ftp.lab.test

    如果返回结果中能解析出 192.168.10.10,说明域名解析成功。

    6.6.5 使用 ping 验证名称解析结果

    继续输入:

    ping ftp.lab.test

    若输出中显示:

    正在 Ping ftp.lab.test [192.168.10.10]

    则说明客户端已经能够把 ftp.lab.test 正确解析为服务器地址。

    注意: ping 是否收到回复受 ICMP 防火墙策略影响。 即使 ping 不通,只要域名已经解析到正确 IP,也说明 DNS 部分大概率是正常的。


    七、基础验证测试一:Windows 11 图形化访问验证

    这里推荐使用 Windows 11 文件资源管理器 地址栏访问,而不是现代浏览器访问。

    7.1 使用 IP 地址进行图形化访问

    在 Windows 11 客户端:

  • 打开“文件资源管理器”

  • 在地址栏输入:

  • ftp://192.168.10.10

  • 按回车

  • 输入:

    • 用户名:ftpuser

    • 密码:实验中设置的密码

    若配置正确,应成功进入 FTP 目录。

    7.2 使用域名进行图形化访问

    在 Windows 11 客户端中继续验证域名方式。

  • 打开“文件资源管理器”

  • 在地址栏输入:

  • ftp://ftp.lab.test

  • 按回车

  • 若为用户名访问模式,则输入:

    • 用户名:ftpuser

    • 密码:实验中设置的密码

  • 若成功进入 FTP 目录,则说明:

    • DNS 解析正常

    • FTP 服务正常

    • 客户端通过域名访问成功

    7.3 图形化方式验证内容

    进入后建议完成以下操作:

  • 查看目录内容

  • 打开 ftpuser 目录

  • 将本地测试文件复制到 FTP 目录

  • 再将服务器中的文件复制回本地

  • 7.4 建议准备的测试文件

    在 Windows 11 桌面预先准备:

    • test1.txt

    • test2.jpg

    • test3.zip

    便于测试文本文件和二进制文件的上传下载。


    八、基础验证测试二:Windows 11 CMD 命令行访问验证

    这一部分必须做详实示范,否则学生容易分不清:

    • 当前本地目录在哪里

    • 当前远程目录在哪里

    • get 下载到哪里

    • put 从哪里上传

    8.1 打开 CMD 并通过 IP 连接 FTP 服务器

    在 Windows 11 中:

  • 按 Win + R

  • 输入 cmd

  • 回车

  • 输入:

    ftp 192.168.10.10

    然后按提示输入用户名和密码:

    User (192.168.10.10:(none)): ftpuser
    Password:

    登录成功后进入:

    ftp>

    8.2 使用域名连接 FTP 服务器

    也可以直接使用域名连接:

    ftp ftp.lab.test

    或者先进入 FTP 环境后再执行:

    ftp
    open ftp.lab.test

    这样学生能够明确理解:

    • 用 IP 地址访问和用域名访问,本质上后续 FTP 操作是一样的

    • 不同之处只在于连接目标的标识方式不同


    8.3 先分清两个“当前目录”

    1. 当前远程目录

    表示服务器上的当前操作位置。 查看命令:

    pwd

    2. 当前本地目录

    表示 Windows 11 客户端本机当前保存/读取文件的位置。 查看命令:

    lcd

    若输出为:

    Local directory now C:\\Users\\Student

    就表示:

    • 以后执行 put 文件名 时,默认从这里找文件

    • 以后执行 get 文件名 时,默认下载到这里


    8.4 切换本地目录:决定下载文件保存在哪里

    假设要把下载文件保存到桌面上的 FTPTest 文件夹。 先在本地手工创建:

    C:\\Users\\Student\\Desktop\\FTPTest

    然后执行:

    lcd C:\\Users\\Student\\Desktop\\FTPTest

    再执行:

    lcd

    确认输出为:

    Local directory now C:\\Users\\Student\\Desktop\\FTPTest

    以后 get 下载的文件,就会默认保存到这里。


    8.5 查看远程文件列表

    执行:

    dir

    或:

    ls

    查看服务器当前目录中的文件和目录。


    8.6 切换远程目录

    例如进入服务器上的 ftpuser 目录:

    cd ftpuser

    再执行:

    pwd

    确认远程当前目录已切换。


    8.7 文件下载:get 命令详解

    情况 1:下载到当前本地目录

    假设当前:

    • 本地目录:C:\\Users\\Student\\Desktop\\FTPTest

    • 远程目录:/ftpuser

    执行:

    get hello.txt

    含义是:

    • 从服务器当前远程目录下载 hello.txt

    • 保存到当前本地目录

    最终文件一般位于:

    C:\\Users\\Student\\Desktop\\FTPTest\\hello.txt

    情况 2:下载时重命名本地文件名

    执行:

    get hello.txt myhello.txt

    含义是:

    • 服务器文件名为 hello.txt

    • 下载到本地后保存为 myhello.txt

    最终位置一般为:

    C:\\Users\\Student\\Desktop\\FTPTest\\myhello.txt


    8.8 文件上传:put 命令详解

    情况 1:上传当前本地目录中的文件

    假设当前本地目录为:

    C:\\Users\\Student\\Desktop\\FTPTest

    其中有文件:

    demo.txt

    执行:

    put demo.txt

    含义是:

    • 从当前本地目录读取 demo.txt

    • 上传到当前远程目录

    情况 2:上传时修改服务器端文件名

    执行:

    put demo.txt server_demo.txt

    含义是:

    • 本地文件名:demo.txt

    • 上传后远程文件名:server_demo.txt

    情况 3:文件不在当前本地目录

    最稳妥的方法是:

  • 先用 lcd 切换到该目录

  • 再执行 put 文件名

  • 例如:

    lcd C:\\Users\\Student\\Desktop\\FTPTest
    put demo.txt


    8.9 批量下载与批量上传

    批量下载

    mget *.txt

    作用:下载远程当前目录下所有 .txt 文件到当前本地目录。

    批量上传

    mput *.txt

    作用:将当前本地目录下所有 .txt 文件上传到当前远程目录。

    关闭逐个确认提示

    默认情况下,mget 和 mput 可能会逐个询问。 可先执行:

    prompt

    关闭交互确认。 再执行一次 prompt,可恢复确认提示。


    8.10 文本模式与二进制模式

    文本模式

    ascii

    适合:

    • .txt

    • 纯文本配置文件

    二进制模式

    binary

    适合:

    • 图片

    • 压缩包

    • Word 文档

    • Excel 文件

    • PDF 文件

    • 可执行程序

    建议在传输图片、压缩包、Office 文档前先执行:

    binary

    否则可能导致文件损坏。


    8.11 一组完整的命令行示例

    下面给出一组可让学生直接练习的示例流程:

    ftp ftp.lab.test
    pwd
    dir
    cd ftpuser
    pwd
    lcd C:\\Users\\Student\\Desktop\\FTPTest
    binary
    get hello.txt
    put demo.jpg
    dir
    bye

    结果说明

    • ftp ftp.lab.test:通过域名连接 FTP 服务器

    • pwd:查看当前远程目录

    • dir:查看远程文件列表

    • cd ftpuser:进入服务器端 ftpuser 目录

    • lcd C:\\Users\\Student\\Desktop\\FTPTest:设置本地下载/上传目录

    • binary:切换为二进制模式

    • get hello.txt:下载服务器文件到本地 FTPTest

    • put demo.jpg:上传本地图片到服务器当前目录

    • dir:再次查看服务器目录,确认上传成功

    • bye:退出 FTP


    8.12 关于 pull 命令的说明

    部分学生会把“下载”误说成 pull。 要特别说明:

    • Windows 自带 FTP 客户端中 没有 pull 命令

    • 下载命令是:

    get

    • 上传命令是:

    put


    九、第二部分:扩展补充实验

    9.1 匿名登录实验

    9.1.1 配置思路

    匿名访问适合:

    • 公共资料下载

    • 实验文件共享

    • 只读公共目录

    不适合:

    • 上传

    • 删除

    • 修改

    9.1.2 IIS 设置

    在 IIS 中进入 FTP 身份验证:

    • 匿名:启用

    • 基本:可先禁用,便于单独对比

    再进入 FTP 授权规则:

    • 允许访问:匿名用户

    • 权限:读取

    9.1.3 NTFS 权限

    确保 D:\\FTPRoot\\Public 对匿名访问具备读取权限,且不开放写入。

    9.1.4 匿名访问验证

    在 Windows 11 文件资源管理器地址栏输入:

    ftp://ftp.lab.test

    若无需输入用户名密码即可进入公共目录,或以匿名身份成功访问并查看 Public 目录内容,说明匿名访问实验成功。


    9.2 用户名登录实验回顾

    在 IIS 中设置:

    • 匿名:禁用

    • 基本:启用

    授权规则:

    • 指定用户:ftpuser

    • 权限:读取、写入

    在 NTFS 中为 D:\\FTPRoot\\ftpuser 分配:

    • 读取

    • 写入

    • 修改

    然后再次用 Windows 11 验证:

    • 能否成功登录

    • 能否上传

    • 能否下载

    • 能否删除自己上传的文件


    9.3 FileZilla 客户端实验

    相比 Windows 自带 FTP 命令行工具,FileZilla 更适合观察:

    • 本地目录

    • 远程目录

    • 传输队列

    • 错误提示

    • 主动/被动模式

    基本连接参数

    • 主机:ftp.lab.test

    • 用户名:ftpuser

    • 密码:实验密码

    • 端口:21

    这一步有助于学生理解:

    • 域名不仅用于浏览器访问

    • 各类客户端软件都可以依赖 DNS 完成服务定位


    9.4 被动模式与 FTP 防火墙支持实验

    配置目的

    帮助学生理解:

    • FTP 不仅仅依赖 21 端口

    • 被动模式需要服务器开放一段高位端口

    • 否则会出现“能登录但目录打不开”或“文件传输失败”

    建议配置

    在 IIS 中找到:

    FTP 防火墙支持

    设置被动模式端口范围,例如:

    50000-50100

    然后在 Windows 防火墙中放行:

    • TCP 21

    • TCP 50000-50100


    9.5 FTPS 加密实验

    目的

    让学生理解:

    • 为什么普通 FTP 不安全

    • 为什么现代网络服务需要加密传输

    基本步骤

  • 在服务器中准备证书 可使用实验环境中的自签名证书

  • 在 IIS 中打开 FTP 站点的 FTP SSL 设置

  • 选择对应证书

  • 设置为:

    • 允许 SSL 或

    • 要求 SSL

  • 教学中建议先设置为“允许 SSL”,便于对比普通 FTP 与 FTPS。

    域名与证书的关系

    若后续启用 FTPS,客户端最好通过与证书名称一致的域名访问服务器,而不是直接使用 IP 地址。否则客户端可能会提示证书名称不匹配。


    9.6 Wireshark 抓包对比实验

    抓普通 FTP

    使用普通 FTP 登录并抓包,学生通常能够观察到:

    • 用户名

    • 密码

    • FTP 命令过程

    • 某些文件信息

    抓 FTPS

    改用 FTPS 后再次抓包,学生会发现:

    • 用户名和密码不再明文显示

    • 文件内容不再直接可读

    这能帮助学生建立更直观的安全意识。


    十、常见故障与排查方法

    10.1 能 ping 通,但 FTP 无法连接

    检查:

  • IIS FTP 站点是否已启动

  • TCP 21 是否已放行

  • 服务器地址是否填写正确

  • 客户端输入的访问地址是否正确

  • 10.2 能登录,但目录列表打不开

    检查:

  • 是否与数据连接有关

  • 被动模式端口是否配置

  • 防火墙是否阻止高位端口

  • 10.3 能登录,但无法上传

    检查:

  • IIS 授权规则是否允许写入

  • NTFS 权限是否允许写入

  • 当前远程目录是否正确

  • 本地目录与远程目录是否混淆

  • 10.4 下载后找不到文件

    检查:

  • 当前本地目录是什么

  • 是否先执行过 lcd

  • get 下载的是不是当前本地目录

  • 10.5 图片或压缩包传输后损坏

    检查:

  • 是否执行过 binary

  • 是否误用了 ascii 文本模式

  • 10.6 匿名登录失败

    检查:

  • IIS 中匿名身份验证是否启用

  • 授权规则是否允许匿名读取

  • Public 目录是否具备匿名读取权限

  • 10.7 域名访问 FTP 服务器失败

    如果发现:

    • 用 IP 可以访问 FTP

    • 用域名却不能访问 FTP

    则说明问题很可能不在 FTP 服务本身,而在 DNS 解析链路。

    可按以下顺序排查:

    1. 先查 DNS 服务器地址是否配置正确

    在 Windows 11 客户端执行:

    ipconfig /all

    检查客户端使用的 DNS 服务器是否为实验中的 DNS 服务器,例如:

    DNS Servers . . . . . . . . . . . : 192.168.10.10

    2. 再查域名是否能解析

    nslookup ftp.lab.test

    如果解析失败,重点检查:

    • DNS 区域是否创建

    • A 记录是否创建

    • 客户端 DNS 是否填错

    • DNS 服务是否正常运行

    3. 检查解析结果是否正确

    有时能解析,但解析到了错误 IP。 例如应当解析到:

    192.168.10.10

    如果解析到了其他地址,则客户端自然无法连接到目标 FTP 服务。

    4. 检查 FTP 服务本身是否正常

    如果:

    • nslookup 正常

    • 域名也能解析到正确 IP

    但 FTP 仍无法连接,则继续排查:

    • IIS FTP 站点是否启动

    • TCP 21 是否放行

    • 被动模式端口是否配置

    • 用户名和密码是否正确


    十一、实验结果判定标准

    完成本实验后,至少应满足以下要求:

  • Windows Server 上 FTP 角色安装成功

  • IIS 中成功创建 FTP 站点

  • Windows 11 客户端能够通过文件资源管理器访问 FTP

  • Windows 11 客户端能够通过 CMD 命令行登录 FTP

  • 学生能够清楚说明:

    • 当前本地目录在哪里

    • 当前远程目录在哪里

    • get 下载到哪里

    • put 从哪里上传

  • 用户名登录方式下:

    • 能上传文件

    • 能下载文件

  • 学生能够解释:

    • 控制连接与数据连接的区别

    • 21 端口的作用

    • 为什么还会有数据端口问题

  • 客户端能够通过 nslookup ftp.lab.test 正确解析 FTP 服务器域名

  • 客户端能够通过 ftp://ftp.lab.test 或 ftp ftp.lab.test 成功访问 FTP 服务


  • 十二、实验报告要求

    实验报告建议至少包含以下内容:

    12.1 实验基本信息

    • 实验名称

    • 实验日期

    • 班级

    • 学号

    • 姓名

    12.2 实验目的

    简要概括本实验的学习目标。

    12.3 实验环境

    写明:

    • 服务器操作系统版本

    • 客户端操作系统版本

    • IP 地址规划

    • 域名规划

    • 主要软件工具

    12.4 实验原理

    要求简要说明:

    • FTP 的基本作用

    • 控制连接与数据连接

    • 主动模式与被动模式

    • FTP 与 FTPS 的区别

    • 域名访问 FTP 的基本原理

    12.5 实验过程

    重点写清:

  • 本地用户创建过程

  • FTP 根目录规划

  • NTFS 权限设置

  • IIS FTP 站点创建过程

  • DNS 正向解析记录配置过程

  • 防火墙设置

  • Windows 11 图形化访问验证

  • Windows 11 命令行验证过程

  • 扩展实验内容(如匿名访问、FileZilla、FTPS、Wireshark)

  • 12.6 关键截图要求

    建议至少包含以下截图:

  • 服务器 IP 配置截图

  • 本地用户创建截图

  • FTP 根目录与子目录截图

  • NTFS 权限设置截图

  • IIS 中 FTP 站点创建截图

  • DNS 区域与 A 记录配置截图

  • Windows 11 文件资源管理器通过域名访问成功截图

  • nslookup ftp.lab.test 成功截图

  • CMD 命令行上传/下载成功截图

  • 扩展实验截图(如 FileZilla、FTPS、Wireshark)

  • 12.7 实验结果与分析

    应说明:

    • 实验是否成功

    • 遇到了什么问题

    • 问题是如何排查和解决的

    • 对 FTP、DNS 与 FTPS 有什么认识

    12.8 实验总结与心得

    建议结合以下方面撰写:

    • 本实验中最容易出错的环节

    • 对权限配置的理解

    • 对 FTP 明文传输风险的认识

    • 对“服务部署 + 名称解析 + 客户端验证”整体流程的认识


    十三、实验总结

    本实验围绕 Windows Server 2022/2025 搭建 FTP 服务器 展开,按照“先原理、后部署、再验证、再扩展”的路径组织。学生通过本实验,不仅能够完成 IIS FTP 服务的安装、站点创建、用户配置、权限设置和 Windows 11 客户端访问验证,还能够理解 FTP 的控制连接、数据连接、主动模式与被动模式,并进一步理解 DNS 域名解析与网络服务访问之间的关系。通过补充域名访问实验,学生能够建立“协议原理—服务部署—名称解析—验证测试—安全分析—故障排查”的一体化实验意识。

    若进一步结合 FileZilla、FTPS 与 Wireshark,学生可从更接近真实网络环境的角度理解 FTP 服务的使用方式与安全局限,为后续学习 Web 服务、DNS 服务、邮件服务、身份认证与网络安全打下更坚实的基础。


    参考文献

    [1] Microsoft Learn. IIS FTP 站点配置参考. https://learn.microsoft.com/zh-cn/iis/configuration/system.applicationhost/sites/site/ftpserver/

    [2] Microsoft Learn. Windows ftp 命令参考. https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/ftp

    [3] Java_fenxiang. Windows Server 搭建 FTP 服务相关文章. https://blog.csdn.net/Java_fenxiang/article/details/143756460

    [4] Vector_seven. Windows FTP 服务配置相关文章. https://blog.csdn.net/Vector_seven/article/details/132612565

    [5] yy15263393969. Windows Server FTP 服务部署相关文章. https://blog.csdn.net/yy15263393969/article/details/145330386

    [6] 腾讯云开发者社区. FTP 服务相关技术文章. https://cloud.tencent.com/developer/article/2202316

    [7] 阿里云开发者社区. Windows FTP 服务配置相关文章. https://developer.aliyun.com/article/1378124

    [8] supernealrei. 相关实验指导博客主页. https://blog.csdn.net/supernealrei?type=blog


    原创声明:本文为作者原创实验教学资料,首发于 CSDN。 版权声明:本文版权归作者所有,网络发布版仅供个人学习、课堂教学参考和非商业交流使用。未经作者书面许可,任何单位或个人不得以复制、汇编、改编、摘编、整理、录入数据库、制作课程包、出版图书、开发付费课程、商业培训或其他商业形式使用本文全部或部分内容。 引用说明:如需引用本文中的观点、实验设计、拓扑结构、命令说明或图表内容,请注明作者、文章标题及原文链接。 版本说明:本文为网络公开学习版,后续如形成教材、讲义、课程资源包或正式出版物,以作者修订版及出版社审定版本为准。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 实验五 Windows Server 2022/2025 搭建 FTP 服务器实验指导书
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!