vsftp 使用篇

开头总要交待一些背景

项目用到的文件纷发,使用ftp做文件下载。一些客户对端口有限制,所以需要修改默认的配置。然后就是会遇到各种奇怪的问题,见招拆招啦。

对于限制端口的情况,服务器必须开放一个主端口,一般是21,再开放一个端口段,用作被动模式的数据传输使用

配置被动端口范围,以配合防火墙通过

/etc/vsftp/vsftp.conf 文件修改如下下项目

listen_port=7018                    #主端口调整
chroot_local_user=YES         #只能在用户家目录活动
pasv_enable=Yes                
pasv_min_port=7010    
pasv_max_port=7030

/etc/sysconfig/iptables 增加如下规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 7010:7050 -j ACCEPT

问题一

前提:服务器在内网,通过路由器映射的一个外网IP访问

遇到一个可以登陆,但不能使用诸如 ls 之类的命令,并提如下错误

227 Entering Passive Mode (192,168,1,5,27,111).

显示一个内网的ip地址。 尝试输入 Passive命令,突然就好使了。
估计基原因就是因为主动模式和被动模式哪里产生的问题。

ftp> passive
Passive mode off.      #关闭被动模式,使用主动模式。
ftp>

问题二

Filezilla会显示一个状态-----服务器发回了不可路由的地址,使用服务器地址代替

补课时间

主动(Standard)模式:客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

被动(Passive)模式:在建立控制通道的时候和Standard模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

但明显问题出在 显示那个内网的IP上 ,最终找到一个 配置项,并修改如下:

pasv_address=106.2.2xx.2xx

把映射的外网地址填上,随后可以正常下载了。

解决了这个问题,但并不知道原因

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅 Nor...
    宁静消失何如阅读 5,300评论 2 2
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,029评论 6 13
  • 公元二零一六年七月 我美丽富绕的家乡 江淮大地巢湖之滨 百年未遇的洪魔乱舞 风云浊暗,山河泣悲 圩堤决口,山体裂撕...
    诗雨长河阅读 3,056评论 0 3
  • 12月31日,正式开工,在合同签订后的一周。这也是我们争取后的结果。 雾霾严重,我和宝爸出门,没有带小宝。 我带了...
    止弌阅读 1,666评论 0 0

友情链接更多精彩内容