mac使用被动ftp模式(pasv)_主动FTP和被动FTP

df1a000c600c0b6c42e6d6bb584d23b9.png

FTP有主动模式和被动模式,平常使用都是被动模式,而且各种FTP客户端默认也都是被动模式

被动模式的数据连接端口号不是21,20,所以还需要开通相应端口才可以。

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

一、FTP的两种连接

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

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

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

二、FTP的两种模式及端口号

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

1、数据连接谁发起

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

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

下图为主动FTP的工作过程

7fc4e859ec2d03e21006b6cfbeda15d4.png

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

8fbf844e99b37c2e19b2cad55d888684.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年的技术号,定期分享ICT技术。

3.关注我的直播课 百哥的直播 自助自取哦听百哥讲云计算 ,让你的技术之路走的更顺遂。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值