FTP服务器搭建-IIS

FTP服务

​ FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。因此,FTP服务是网络中经常采用的资源共享方式之一。本问将介绍Windows下FTP服务器的搭建。

FTP搭建

​ Windows系统自带IIS可以使用IIS来搭建FTP服务器,但是IIS默认是不开启FTP功能的,需要用户手动开启。

运行环境

  • 服务器:Windows Server 2012 R2 Standard
  • 客户机:Windows 10

操作步骤

  1. 新版系统的IIS默认也是关闭的,所以我们需要先启用IIS服务。首先打开服务器管理器,显示界面如下图所示。

    服务器管理其面板
  2. 点击【添加角色和功能】选项,打开功能向导界面。

    添加角色和功能向导
  3. 点击【下一步】按钮,进入安装类型选择界面,默认为:基于角色或基于功能的安装,采用默认设置。

    安装类型选择
  4. 点击【下一步】按钮,进入添加服务器选择界面,采用默认选项即可。

    服务器选择
  5. 点击【下一步】按钮,进入服务器角色选择界面,打开Web服务器(IIS)节点,勾选FTP服务器相关选项。

    服务器角色
  6. 点击【下一步】按钮,进入功能选择界面,勾选IIS可承载Web核心选项及其他相关选项。

    功能
  7. 点击【下一步】按钮,进入确认界面,确认FTP相关依赖被安装。

    确认界面
  8. 点击【安装】按钮即开始安装。

    安装过程
  9. IIS安装完成后,打开IIS管理器,显示界面如下所示。

    IIS界面
  10. 右键【网站】选择【添加FTP站点】选项,打开添加FTP站点界面。填写FTP站点名称并执行目录物理路径。

    添加FTP站点-站点信息
  11. 点击【下一步】按钮,进入绑定和SSL设置界面。绑定IP地址,选定SSL证书。

    添加FTP站点-绑定和SSL设置
  12. 点击【下一步】按钮,进入身份验证和授权信息界面。指定授权信息及权限。

    添加FTP站点-身份认证和授权
  13. 点击【完成】按钮即可启用改FTP站点。

    启用FTP站点
  14. 点击新建的FTP站点,打开ftp-demo主页。点击FTP防火墙支持,添加外部IP(即:服务器的公网IP)

    FTP防火墙支持
  15. 为了实现权限分离,这里创建一个新的用户作为FTP的访问用户。

    FTP访问用户
  16. 设置新用户对FTP文件夹的访问权限。

    文件夹权限设置
  17. 采用被动模式设置的IIS-FTP服务需要使用到50000-60000端口,所以需要配置安全组规则,否则无法完成目录读取操作。

    添加服务器安全组规则
  18. 在客户端进行连接测试。

    客户端连接测试成功

问题反思

FTP模式分类

FTP服务器一般都支持主动和被动模式,连接采用何种模式是由FTP客户端软件决定。

主动 FTP :
    命令连接:客户端 >1024 端口 → 服务器 21 端口
    数据连接:客户端 >1024 端口 ← 服务器 20 端口

被动 FTP :
    命令连接:客户端 >1024 端口 → 服务器 21 端口
    数据连接:客户端 >1024 端口 ← 服务器 >1024 端口

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 当需要传送数据时, 客户端在命令链路上用PORT命令告诉服务器:“我打开了***X端口,你过来连接我”。于是服务器从20端口向客户端的***X端口发送连接请求,建立 一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。 当需要传送数据时, 服务器在命令链路上用PASV命令告诉客户端:“我打开了***X端口,你过来连接我”。于是客户端向服务器的***X端口发送连接请求,建立一条数据链 路来传送数据。

**早先所有客户端都使用主动模式,而且工作的很好,而现在因为客户端防火墙的存在,将会关闭一些端口,这样主动模式将会失败。**在这种情况下就要使用被动模式,但是一些端口也可能被服务器的防火墙封掉。不过因为ftp服务器需要它的ftp服务连接到一定数量的客户端,所以他们总是支持被动模式的。这就是我们为什么要使用被动模式的原意,为了确保数据可以正确的传输,使用 被动模式要明显优于主动模式。

​ 服务器上ftp用被动模式,服务器只开50000-60000的端口用于客户端访问,而看了下用1025-1034这样的端口并不行,用抓包也看到被动时,服务器端指定的端口是50492,大多是在5万-6万之间(这个是为什么,暂时没搞清)。依据这些信息说明FTP服务器需要开通50000-60000端口,因此需要修改服务器的安全组规则

权限分配

​ FTP服务器设置的另一个问题就是权限的分配,出于安全的考虑我们不会采用匿名访问策略,随意我们需要有序设置FTP访问用户,以及改用户对FTP目录对应的操作权限等。

参考链接

在IIS上搭建FTP服务

posted @ 2020-11-06 20:30  静俭阁主  阅读(304)  评论(0编辑  收藏  举报