ftp主动和被动模式_主动FTP和被动FTP开启C位争霸模式,谁胜谁负?

cd1834910c9648ebc2a553b8a40d9bd4.png

FTP有主动模式和被动模式,平常使用都是被动模式,而且各种FTP客户端默认也都是被动模式,被动模式的数据连接端口号不是21,20,所以还需要开通相应端口才可以。

相应端口是什么端口?先看下原理。

FTP的两种连接

FTP(文件传输协议)是最典型的双连接协议,需要用到控制连接和数据连接。

顾名思义,控制连接用于控制指令,比如协商ftp的验证方式(是否允许匿名,允许的话用什么代表身份,不允许的话要传用户名密码等),这里没有进行真正的文件传输。

数据连接用于真正的文件传输,包括列出文件列表,上传下载文件等。

FTP的两种模式及端口号

FTP的主动和被动两种模式,最关键的区别在于两点:

1、数据连接谁发起?

2、数据连接的端口号是什么?

主动FTP,数据连接由服务器发起,也就是三次握手的第一次是服务器先来的,端口号服务器端20,客户端随机,这时按题主的操作,只要放行20和21就可以。其中21是控制连接的端口号。

下图为主动FTP的工作过程:

9141dd715336ae3f4398edcbed876a4e.png

被动FTP,数据连接由客户端发起,也就是三次握手的第一次是客户端先来的,端口号服务器端和客户端都是随机,下图为被动FTP的工作过程:

9ca19d6c00b3c7bf95e78259d556a424.png

但是,端口都是随机这怎么放行??总不能放行所有吧

欢迎加入讨论群:662736393

技术交流,联系QQ:167748928

解决方案

也是腾讯云推荐的解决方案,在Linux的ftp配置中,设置被动FTP的端口号范围,比如50001到51001,那么接下来在安全组放行这个端口范围即可。

以vsftpd为例,当然vsftpd也是最常用的ftp软件。

在配置文件(默认位置/etc/vsftpd/vsftpd.conf)里加入以下内容,并重启vsftpd服务就可以了。

pasv_enable=YES

pasv_min_port=50001

pasv_max_port=51001

那么问题来了,为什么不改成主动?

因为主动是服务器主动,对客户端来说是被动,被动就是别人进来,别人进来对客户端来说就是入站连接,防火墙是默认禁止陌生的入站连接的,所以经常会导致无法成功连接ftp。

如果修改防火墙的话,多少台客户端就要修改多少次防火墙,工作量大不说,很多客户端的用户并不知道怎么设置防火墙。

所以实际上都会采用被动,那么客户端是无需修改防火墙的,服务器端只需修改一次,而且有专业的工程师,很容易就可以调整好。


如果你看到了这里,百哥想请你帮个小忙:

1.帮我点赞,转发,收藏三连,方便你最快找到百哥,也让更多的人真正爱上ICT技术,学好ICT技术

2.关注@众元百哥,每天一个技术小知识,助你网工快速入门~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值