参考文章:(原理清晰)https://www.cnblogs.com/lsy-blogs/p/10170662.html
(配置清晰)https://blog.csdn.net/eakom/article/details/79027258
(阿里服务器)https://help.aliyun.com/document_detail/86292.html?spm=5176.10695662.1996646101.searchclickresult.772278aaSFRIWA
(超详细)https://segmentfault.com/a/1190000008161400
1. 配置FTP服务器过程
- 安装
//查看是否安装
rpm -q vsftpd
//安装
yum -y install vsftpd
//开启服务
systemctl start vsftpd.service
//使服务开机自启动
systemctl enable vsftpd.service
-
简易的测试,是否可以用,有错误建议先看一下我这篇文章
(https://mp.csdn.net/mdeditor/97280774#),记得一定要先对 IE 浏览器进行设置,才能打开 FTP 的文件夹。 打开 IE 浏览器,选择 设置 > Internet 选项 > 高级。勾选 启用 FTP 文件夹视图,取消勾选 使用被动 FTP(ip是使用你的公网ip)。
-
使用系统账号登陆
//新建用户ftpuser
useradd ftpuser
passwd ftpuser
//修改配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名用户登录,把默认YES改成NO
#开启被动模式
#这样远程连接才可以进行传输数据
#默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
重启服务
systemctl restart vsftpd
参考文章:https://blog.csdn.net/gew25/article/details/52835877
4. 我们会发现连接的时候特别慢,那是因为反向域名解析这一功能,
//禁用DNS反向解析,在/etc/vsftpd/vsftpd.conf添加下面这一行
reverse_lookup_enable=no
2.ftp服务器主动、被动模式区别
1、主动模式(PORT):
原理:
FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上), 发送 PORT命令到FTP服务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端 开放的端口连接,发送数据。
要点:
传送数据时是“服务器”连接到“客户端”的端口;
需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难;
2、被动模式(PASV):
原理:
FTP 客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器, 服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端, 客户端再连接到服务器开放的端口进行数据传输。
要点:
传送数据是“客户端”连接到“服务器”的端口;
只需要服务器端开放端口给客户端连接就行;
3、如何选择ftp模式:
如果只是公司内部、局域网使用ftp,可以用主动模式,但是ftp客户端防火墙最好关掉或者开放ftp需要的数据端口范围,不存在安全问题也。如果是公网ftp就用被动模式,可以自定义端口,更加安全。
想要安全、连接方便就用被动模式。