2分钟

使用 Windows 实例搭建 FTP 站点

实验时长:30 分钟

1. 课程背景

1.1 课程目的

本课程的主要目的是让学员通过学习掌握在云端的 Windows 服务器上搭建 FTP 的流程。在使用云端服务器的过程中,会出现需要本机与云端之间互传文件的情况,或者想要让云端服务器具有文件服务器的功能,此时在云上的服务器上搭建 FTP 服务就可以满足这些需求。

本课程将演示在腾讯云上创建 Windows 服务器实例,在 Windows 服务器上搭建 FTP 服务以及对 FTP 服务器进行配置。通过学习本课程,学员可以了解 FTP 相关概念,了解腾讯云的安全组和 Windows 的防火墙,能够独立的在腾讯云上搭建自己的 FTP 服务器。

1.2 课前知识准备

1.相关概念:

腾讯云:

  • 腾讯云 CVM 云服务器:云服务器(Cloud Virtual Machine,CVM)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。腾讯云 CVM 允许选择多种操作系统来启动 CVM 实例,可以使用控制台、命令行或 SDK 等多种管理工具来启动、监控或终止 CVM 实例。本课程使用腾讯云服务器提供的公共镜像创建 Windows 实例,无需自己手动下载 Windows 镜像文件,FTP 服务将搭建在 Windows 实例上。
  • 安全组:安全组是一种虚拟防火墙,具备有状态的数据包过滤功能,用于设置云服务器、负载均衡、云数据库等实例的网络访问控制,控制实例级别的出入流量,是重要的网络安全隔离手段。修改安全组的规则,新规则会立即生效。

协议:

  • FTP:FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP 协议传输文件存在主动模式和被动模式两种方式。默认情况下 FTP 使用 21 端口传输控制信息,主动模式下数据传输端口为 20,被动模式数据传输端口为大于或等于 1024 小于或等于 65535 的任一端口。
  • SSL:SSL(Secure Sockets Layer 安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,在传输层与应用层之间对网络连接进行加密。
  • TLS:TLS(Transport Layer Security 传输层安全)与 SSL 类似,是为网络通信提供安全及数据完整性的一种安全协议,利用密钥算法在互联网上提供端点身份认证与通讯保密。

其它:

  • Windows Server:Windows Server 是微软推出的 Windows 的服务器操作系统,其核心是 Microsoft Windows Server System(WSS)。
  • FileZilla Server:FileZilla Server 是一个流行的开源的免费的 FTP 客户端、服务器端的项目。

2.相关原理:

  • 实验原理:使用 Windows 实例搭建 FTP 服务主要是利用了 FTP 的被动模式。本机 FTP 客户端与云端的 FTP 服务器进行通信,数据由客户端发出时首先需要通过本机的防火墙,到达腾讯云服务器后要通过安全组规则的审查,然后是 Windows 实例的防火墙,最后才能到达 FTP 服务器,FTP 服务器发出的数据也是如此。防火墙和安全组都有其入站规则和出站规则,不满足规则的数据就会被拦截无法传递。
实验原理
  • FTP 被动模式:被动模式数据通道的建立是由客户端向服务器发起的,客户端主动连接 FTP 服务器的数据传输端口。在 FTP 的被动模式下,FTP 客户端和 FTP 服务器要通过三次握手建立连接,FTP 客户端开启的 Port A 为大于或等于 1024 的随机端口,FTP 服务器默认使用 Port 21。连接建立后,客户端发送 PASV 命令,服务端收到后开启并告知客户端数据传输的端口 Port X。客户端随即使用另一个端口 Port B 与 Port X 建立数据传输通道,Port B 为 Port A+1。