VSFTP进阶使用---自用简记
上次 简单配置好vsftp使用一段时间后 决定继续研究一下FTP的两种模式
FTP两种模式 :PORT 主动 PASV被动
PORT主动模式 服务器S使用20(数据) 21(连接)端口 客户端使用 两个大于1024的端口 (举例 1025 1026)
- C:1026 ——S:21 客户端向服务器发起连接(对于S来说 IN 21 TCP )
- S:21——C:1026 服务端通过21端口给服务端一个响应
- S:20——C:1025 服务端通知客户端 我将20端口用作FTP数据传输
- C:1025——S:20 客户端向服务器发起数据连接请求(对S来说IN 20 TCP)
特点:1、服务端端口只需要开放TCP 20 21即可
2、经测试 C处于NAT设备后时无法与S建立数据连接 只能与S的21端口建立连接 此时FTP不能传输文件
3、 但经实际测试 C的两个端口不连续 即并不存在N和N+1端口情况
PASV被动模式 服务段使用21(连接) 以及一个大于1024的随机端口(假设3001数据) 客户端两个随机大于1024端口(举例1025 1026)
- C:1026——S:21 客户端向服务器发起连接(对于S来说 IN 21 TCP)
- S:21——C:1026 服务端通过21端口给服务端一个响应
- C:1025——S:3001 客户端1025端口连接服务端指定范围内的>1024端口(对S来说IN 3001 TCP)
- S:3001——C:1025 服务端通过3001端口与客户端1025端口进行数据传输
特点:1、服务端需要开放TCP21 和 >1024的部分端口范围 (可以手动指定范围)
2、经测试 C处于任意位置都能够与S建立数据连接 此模式适合日常使用
存疑:
PASV模式时 S的数据端口假设被指定范围3000:3005 那么在第三步C通过1025去进行数据连接之前 应该还有一步是S通知C我开放的数据端口是多少
PASV模式的端口是每个客户机连接一个数据端口 那么在PORT模式下就只有20数据端口 怎么实现多用户连接传输的 待研究
参考链接:
https://blog.csdn.net/weixin_33895475/article/details/92170950
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这次简记暂时记录下FTP在PASV模式时设置数据传输端口范围 方便防火墙设置问题
1、编辑配置文件 插入以下内容
sudo vi /etc/vsftpd.conf
------------------------------------------------------------------------------------
pasv_enable=YES (注:若此处为NO则表示使用PORT模式)
pasv_min_port=起始端口
pasv_max_port=结束端口
-----------------------------------------------------------------------------------------
2、配置防火墙策略
sudo iptables -I INPUT -p tcp --dport 21 -j ACCEPT (允许建立FTP连接端口)
sudo iptables -I INPUT -p tcp --dport 42500:43000 -j ACCEPT (允许建立FTP数据连接端口)
3、重启服务 连接测试
sudo /etc/init.d/vsftpd restart
4、查看连接
5、经测试 PASV模式下 S开放的一个数据端口只能同时进行一个数据传输连接 但可以在不同时间给不同用户使用
例如只开放4000端口 客户端A在传输时 如果客户端B需要下载文件会报如下错误
因此 更没理解PORT模式就一个20数据端口是怎样实现多用户同时下载的
VSFTP进阶使用---自用简记相关推荐
- 【Unity项目实战】主程进阶之路文章整理 自用记录
声明:下列文章链接转载自陆泽西 (Jesse Lu)的个人博客,仅供个人学习参考使用,如若侵权,告知删除 1.要点技术 <Unity3D高级编程之进阶主程>第一章,C#要点技术(一) - ...
- Android 开发者该如何进阶?
封面.png 前言 经常在简书和微信上收到一些同学的私信,说自己马上毕业或者已经毕业一年,从事Android开发相关的工作,现在不知道要学习什么东西了.或者说自己也在摸索着学习,但是不知道学习的路线对 ...
- ProGit-读书简记
ProGit-读书简记 from: http://lanbing510.info/2016/12/07/ProGit.html?ref=myread 写在前面 Git是一个非常好的版本管理工具,最早是 ...
- android gridview控件使用详解_作为Android 开发者该如何进阶?
经常在简书和微信上收到一些同学的私信,说自己马上毕业或者已经毕业一年,从事Android开发相关的工作,现在不知道要学习什么东西了.或者说自己也在摸索着学习,但是不知道学习的路线对不对,感觉很迷茫,想 ...
- 金蝶kis专业版公网访问_金蝶KIS云专业版—【账务处理】进阶操作101问
对KIS专业版[账务处理]模块日常操作之外的各种问题进行回答,帮助老师们快速进阶此模块的操作,提高软件的便利性. 1.专业版资产负债表如何移动表页位置? [操作步骤] 1.单击[报表与分析]-[资产负 ...
- Tensorflow高级API的进阶--利用tf.contrib.learn建立输入函数
正文共5958个字,预计阅读时间15分钟. 笔记整理者:王小草 笔记整理时间:2017年2月27日 笔记对应的官方文档:https://www.tensorflow.org/get_started/i ...
- Android程序员该如何进阶?,2021Android面经
LinkedList ArrayList Vector (2) Set HashSet TreeSet Map: HashMap TreeMap HashTable 我们需要知道每个容器的特性,以及它 ...
- Android开发如何进阶,薪资如何跟上年龄的脚步?,深度解读Netty
封装.继承.多态. 2 . 程序设计的6大原则: 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 了解这6大设计原则是非常有必要的,它能指导你的程序整个结构的设计和规范. ...
- Linux云计算架构师进阶班-Docker-K8s-Devops-Openstack
Linux云计算架构师进阶班-Docker-K8s-Devops-Openstack 下载链接: https://pan.baidu.com/s/1l6Xp7_2UsMYfoEKnJAvjUw 提取码 ...
- 我的Android进阶之旅------经典的大客推荐(排名不分先后)!!
今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下(转载于:http://blog.csdn.net/wujxiaoz/article/details/8237096) Android中文Wiki ...
最新文章
- 在Servlet中获取Spring注解的bean
- driver: linux2.6 内核模块导出函数实例(EXPORT_SYMBOL)
- code css怎么拿不到div_不会“编程”拿不到初中毕业证?听北京海淀教委怎么说...
- MySQL --- 计算指定日期为当月的第几周
- java 8时间操作_Java8 时间日期类操作
- atcoder E - Greedy Ant(最优解等价+dp)
- Win11系统如何设置黑暗模式
- 【报告分享】2020中国消费品牌发展报告.pdf(附下载链接)
- 外观模式(Facade模式)详解
- 第四章 MyBatis缓存和注解的使用
- python绘制相频特性曲线_用Python绘制音乐图谱
- linux 查看tps命令,Linux系统一些系统查看指令
- Scheme 语言概要(上)
- React中setState() 函数的三种用法
- 史上最好看的电影你看过吗
- AW笔记本升级SSD,外接双屏中的一些注意事项
- shell语言简单学习
- 室外管线lisp_利用Autocad lisp进行地下管线成果表制作方法的研究
- 计算机一级office软件,计算机一级office
- 井下人员定位系统建立数字化矿山
热门文章
- 我的第一个Python程序:Luogu1001 A+B Problem
- HDU1846 Brave Game
- nodejs学习笔记-1-文件系统
- vue点击下载图片的实现
- el-option传两个值_如意芳霏三对CP三种甜,傅容与徐晋夫唱妇随,甜蜜值爆棚
- 数据结构与程序的关系_java主程:数据结构和算法的区别别再搞混了,否则开除...
- 线性求逆元模板_专栏:ACM算法面面观[9]逆元
- mobilenet cpu 加速_AMD锐龙5000系列CPU价格公布 哪款才是性价比之王_搜狐汽车
- java解决硬编码_工具类 解决硬编码问题
- ERR Errors trying to SHUTDOWN. Check logs.