1. File Transfer Protocol 文件传输协议
FTP是互联网上广泛使用的文件传输协议,是TCP/IP协议簇中的协议之一,默认情况下FTP协议使用TCP端口20和端口21。其中端口20用于传输数据,端口21用于传输控制消息。
1.1 工作原理
1.1.1 工作模式
FTP采用客户端/服务器模式,即C/S。FTP服务器存储文件,用户使用FTP客户端,通过FTP协议访问位于FTP服务器上的资源。
1.1.2 连接方式
FTP使用双TCP连接工作方式,包括控制连接和数据连接。
(1)控制连接
用于在FTP客户端和FTP服务器之间传输FTP控制命令以及命令执行信息。控制连接在整个FTP会话期间一直处于保持打开状态。
(2)数据连接
用于传输数据,包括数据的上传、下载和文件列表的发送等。数据传输结束后,该连接将终止。
1.1.3 数据传输方式
FTP有两种数据传输方式,包括主动模式和被动模式。
(1)主动模式
主动模式也称为PORT模式,是FTP默认的数据传输连接方式。
在建立数据传输的过程中,由服务器主动发起连接,因此被称为主动模式。
1)工作原理:
在主动模式下,客户端会开启一个端口号大于1024的端口N和N+1两个端口,N为客户端的控制连接端口,N+1是客户端的数据端口。
FTP客户端向FTP服务器的21号端口发送PORT消息,告诉服务器客户端用于控制连接的临时端口号是N。
在控制连接建立成功后,服务器使用端口20,主动连接客户端的N+1端口来建立数据连接。当双TCP连接正常工作时,数据传输开始。
2)主动模式的优缺点:
优点:主动模式对FTP服务器的管理有利,因为FTP服务器只需要开启21端口的【准入】和20端口的【准出】即可。
缺点:但这种模式对客户端的管理不利,因为FTP服务器20端口连接客户端的数据端口时,有可能被客户端的防火墙拦截。
3)如何解决客户端防火墙拦截“数据连接”的建立
(1)如果防火墙开启了【拦截通知】,在使用FTP软件连接服务器时,防火墙会弹出提示,只需要点击【允许访问】即可建立连接。
(2)如果防火墙没有开启“拦截通知”,则需要将应用程序添加到防火墙的【允许的程序和功能】列表中。允许FTP客户端(例如WinSCP)以主动模式连接FTP服务器。
(2)被动模式
被动模式也称为PASV模式。由于主动模式的数据连接的建立有可能被客户端防火墙拦截,为了解决该问题,FTP衍生出被动连接模式。
在传输过程中,由于服务器总是被动接收客户端的数据连接,因此被称为被动方式 。
1)工作原理:
客户端的控制连接端口N主动连接服务器的21号端口,并发送PASV消息,告诉服务器启用”被动模式“,控制连接建立成功后,服务器开启一个数据端口P,通过PORT消息将P端口告诉客户端。
客户端在收到PORT消息后,使用数据端口N+1去连接服务器的数据端口P,建立数据连接,完成数据传输。
服务器的数据端口P是随机的,但是P端口的范围是可以设置的。客户端的控制连接端口和数据端口实际中并不是N和N+1的关系,两个端口比较接近而已;
2)被动模式的优缺点
**优点:**被动模式对FTP客户端的管理有利,因为客户端的控制连接端口和数据端口都是【准出】,Windows防火墙对于【准出】状态一般是不拦截的,所以客户端不需要任何多余的配置就可以连接FTP服务器。
**缺点:**对服务器端的管理不利。因为客户端数据端口连到FTP服务器的数据端口P时,有可能被服务器端的防火墙拦截。
3)如何解决服务器端防火墙拦截“数据连接”的建立?
为了解决P端口的放行不被服务器防火墙拦截,需要在服务器端设定P端口的范围,并在防火墙中开启这个范围端口的放行。下图是FTP服务器中指定被动模式的数据端口范围为5000-6000,然后在Windows防火墙中配置5000-6000端口允许放行。
1.2 文件传输方式
FTP有两种文件传输方式,包括ASCII和二进制流
1.2.1 ASCII模式
ASCII是默认的文件传输模式。适用于传输文本文件,本地文件转换成标准的ASCII码再传输。
1.2.2 二进制流
适用于传送程序文件,文件按照比特流的方式进行传输。
1.3常见客户端
命令提示符
通常Windows系统都会自带“ftp”命令,可以通过命令提示符使用FTP命令,这是个FTP客户端。
浏览器
Windows资源管理器
开源的FTP客户端FileZilla、微软提供的免费FTP客户端WinSCP等。
1.4 应用场景
可以通过FTP在互联网上提供软件下载服务。可以通过FTP,在公司内部共享各种制度文件。开发网站时,通常利用FTP把网页或者应用程序上传到Web服务器。
参考资料
FTP协议的主动模式和被动模式的区别FTPサーバー : SSL/TLS の設定
Microsoft Docs:New-SelfSignedCertificate
Microsoft Docs:Installing and Configuring FTP 7 on IIS 7
2. 安装FTP服务
准备工作:
一台全新的Windows Server 2019 DC作为FTP服务器,计算机命名为FTP。
IP地址设置为:192.168.82.220子网掩码为:255.255.255.0首选DNS为:192.168.82.201备选DNS为:192.168.82.202
1)打开【服务器管理器】,点击【添加角色和功能】。
2)进入【开始之前】界面,安装条件确认无误后,点击【下一步】。
3)进入【安装类型】界面,系统默认选择【基于角色或功能的安装】,点击【下一步】。
4)进入【服务器选择】界面,系统默认选择【从服务器池中选择服务器】,核对服务器名称和IP地址无误后,点击【下一步】。
5)进入【服务器角色】界面,Windows Server的FTP功能是IIS角色的一部分,所以勾选【Web服务器(IIS)】。
在弹出的对话框中,点击【添加功能】。
返回【服务器角色】界面,【Web服务器(IIS)】已被勾选,点击【下一步】。
6)进入【功能】界面,默认选择,点击【下一步】。
7)进入【Web服务器角色(IIS)】界面,该界面对IIS进行简单说明,点击【下一步】。
8)进入【角色服务】界面,拖动滚动条,找到FTP服务器,勾选【FTP服务器】。系统默认勾选【FTP服务】,点击【下一步】。
9)进入【确认】界面,确认无误后,点击【安装】。
10)进入【结果】界面,等待一段时间后,系统提示FTP安装完成后,即可以关闭安装界面。
备注:
1)如果之前已经安装了IIS,但没有安装FTP服务,可以在服务器管理器中点击【添加角色和功能】,一路点击【下一步】直至【服务器角色】界面。找到【Web服务器(IIS)】,点击其左侧【▷】符号,勾选【FTP服务器】即可。
2)接下来一路点击【下一步】直至【确认】界面,确认无误后,点击【安装】。
3)进入【结果】界面,等待一段时间后,系统提示FTP安装完成后,即可以关闭安装界面。
3. 新建FTP站点
1)打开【服务器管理器】,点击右上角的【工具】栏,找到【Internet Information S ervices(IIS)管理器】点击。
2)点击左侧栏目中的服务器名称,中间会显示FTP主页,包含FTP服务的信息,说明FTP服务已经安装成功。
3)新建FTP站点。展开左侧菜单,对【网站】点击鼠标右键,选择【添加FTP站点】。
4)进入【添加FTP站点】界面,输入FTP站点名称和其目录的物理路径。物理路径是需要共享的目录的位置。点击【下一步】。
5)进入【绑定和SSL设置】界面,IP地址默认为全部未分配,即可以使用服务器上任意一个没有分配给其他FTP站点的IP来访问。如果选择了IP地址,则只能通过选择的IP地址对FTP服务器进行访问。
端口选择默认21号端口。在这里选择【无SSL】。
6)进入【身份验证和授权信息界面】,在身份验证中,勾选匿名和基本;允许访问的用户选择所有用户;权限勾选读取和写入。最后点击【完成】。
7)返回【网站】界面,在列表中新的FTP站点fjnu-ftp已经创建完成,并成功启动。
备注:
如果是在默认站点【Default Web Site】中添加FTP发布,那么,默认的根目录位置是 C:\inetpub\ ftproot
4. 测试FTP站点
测试之前,随意创建或复制几个文件和文件夹到FTP的根目录中。
4.1 使用浏览器测试
打开浏览器,在地址栏输入:ftp://192.168.82.220,点击回车即可。
如果服务器存在一个FTP站点,该站点的端口号是40,那么在浏览器地址栏中应该输入:ftp://192.168.82.220:40
,点击回车即可。
在和FTP服务器在同一局域网内的电脑PC1上,使用网页连接FTP。
4.2 使用资源管理器测试
在和FTP服务器在同一局域网内的电脑PC1上,使用资源管理器连接FTP。输入:ftp://192.168.82.220
,即可连接。
参考资料
FTP协议的主动模式和被动模式的区别FTPサーバー : SSL/TLS の設定
Microsoft Docs:New-SelfSignedCertificate
Microsoft Docs:Installing and Configuring FTP 7 on IIS 7
到此这篇关于Windows Server 2019 FTP服务的配置与管理(FTP工作原理、简单介绍与ftp安装,新建与测试)的文章就介绍到这了,更多相关win2019 FTP服务的配置与管理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!