您的位置:首页 > 编程语言 > PHP开发

VSFTP服务搭建及FTP并发的核心理解

2017-12-11 18:54 309 查看
       踩了挺多的坑,然后才知道ftp实现并发靠的就是开多少个端口。2个用户连接服务器,服务器就开2个端口。10个用户连接,服务器就开10个端口。

      先说最核心的内容:

      PORT实现并发的原理是:客户端端口1对1。因为主动模式是在客户端上面开放一个数据端口,然后服务器自己随便开N个端口去连接N个客户端。

       PASV实现并发的原理是:服务器端口1对多。因为被动模式是在服务器上面开放N个数据端口,然后客户端自己随便开1个端口去连接服务器。

      再说下自己的需求:我的客户是NAT用户,也就是共享IP的用户,所以不能选择主动模式。但是我又不能放开太多的端口,用户大概1000台左右,放开1000个端口不太行的通,因为有的客户在防火墙里把端口管制的超级严格。但实现并发靠的又是MIN~MAX的端口配置,所以FTP协议本身并不合适。现在也很无奈,想用FTP这种东西,它的内部并发靠的却是端口数,没办法,只能让防火墙上多放开些端口先凑合着用了,暂时没找到更合适方案。不介意防火墙放开端口数,可以放心用FTP进行传输。

配置细节:

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

userlist_file=/etc/vsftpd.user_list

userlist_enable=YES

userlist_deny=NO

local_umask=022

listen_port=21

connect_from_port_20=NO

tcp_wrappers=NO

未尾添加:

pasv_enable=YES

pasv_min_port=60000

pasv_max_port=60000

pasv_promiscuous=YES

······················································

编辑/etc/vsftpd.user_list写入白名单用户infogoftp

可用防火墙验证端口是否有效

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -p tcp --dport 60000 -j ACCEPT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息