文章目录
FTP服务
FTP是用来在两台计算机之间传输文件,是Internet中应用非常广泛的服务之一。它可根据实际需要设置各用户的使用权限,同时还具有跨平台的特性,即在UNIX、Linux和Windows等操作系统中都可实现FTP客户端和服务器,相互之间可跨平台进行文件的传输。因此,FTP服务是网络中经常采用的资源共享方式之一。本问将介绍Windows下FTP服务器的搭建。
FTP搭建
Windows系统自带IIS可以使用IIS来搭建FTP服务器,但是IIS默认是不开启FTP功能的,需要用户手动开启。而且操作流程十分麻烦,下面使用FileZilla Server来搭建FTP服务器。
运行环境
- 服务器:Windows Server 2008 R2
- 客户机:Windows 10
- 软件:FileZilla_Server-0_9_43.exe
操作步骤
0x01 FIleZillaServer安装
-
双击
FileZilla_Server-0_9_43.exe
程序后,会打开FileZillaServer的安装界面,显示结果如下图所示。 -
点击【I Agree】按钮后进入安装选项选择界面,显示结果如下图所示。
-
单击【Next】按钮后进入安装路径选择界面,默认安装路径显示结果如下图所示。
-
单击【Next】按钮进入启动设置界面,这里将设置FileZillaServer是否以服务方式安装,这里选择第二项“作为服务,手动启动”安装,显示结果如下图所示。
-
点击【Next】按钮进入使用者设置界面,这是选择所有人可用,操作结果如下图所示。
-
点击【Install】按钮后显示程序安装过程,显示结果如下图所示。
-
稍等几秒钟之后,软件安装完成显示结果如下图所示。
0x02 设置共享文件
-
打开
FileZilla Server Interface
图标后将显示服务连接界面,显示结果如下图所示。Server Address:为服务器地址,安装在本机中服务直接使用
127.0.0.1
连接即可。Port:指定软件监听的端口,默认为
14147
。 -
点击【OK】按钮进入FileZillaServer管理界面,显示结果如下图所示。
-
点击菜单中的【Edit】→【User】,打开用户设置界面,在设置中添加
ftp_user
用户并为其设置密码,操作结果如下图所示。 -
设置分享文件夹。点击【shared folders】选项,打开文件夹设置选项界面,在界面中设置共享文件夹,操作结果如下图所示。
0x03一个与防火墙相关的问题
- 以上操作完成之后其实就可以访问FTP服务器了,使用
ftp://10.10.10.132
访问,输入用户名和密码之后将看到FTP中的文件夹,显示内容如下图所示。
但有时可能会出现如下图中显示的错误信息。
这种错误一般都是由于防火墙引起的,有些人会推荐关闭防火墙以来访问FTP服务器,但是博主不建议这种做法,因为不安全。这里推荐设置一条访问策略来解决防火墙的过滤问题。
0x04 设置防火策略
-
添加访问策略。使用管理员权限打开cmd,并运行如下命令,操作结果如下图所示。
netsh advfirewall firewall add rule name=FTP dir=in action=allow protocol=tcp localport=21,50000-60000
-
设置被动连接。点击【Edit】→【Setting】→【Passive mode setting】选项,将端口范围设置为:
5000-6000
,操作结果如下图所示。
0x05 连接测试
-
客户端连接测试。
注意事项
- 权限问题。在创建FTP用户时需要指定该用户对执行FTP共享目录的操作权限。例如:用户想要删除该目录下的文件时就需要拥有**删除权限,**否则操作不会成功。
- 端口问题。FTP服务默认使用21端口,因此想要连接成功就需要确保21端口开放,这一点对云服务上的操作这是必要操作。
常见错误
0x01 服务器发回了不可路由的地址。使用服务器地址代替
错误描述:
命令: PASV
响应: 227 Entering Passive Mode
状态: 服务器发回了不可路由的地址。使用服务器地址代替。
命令: LIST
错误: 连接超时
错误: 读取目录列表失败
-
解决办法:
更改
Filezilla
设置,编辑 → 设置 → 连接 → FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。
0x02 连接超时
-
错误描述:
-
解决办法:
将FileZillaServer的FTP服务设置为被动模式,并且需要设置相应的防火墙策略。(可以参考设置防火墙策略)
修改记录
- 2020-12-16:发现博文存在失误,重构并完善博文架构。