FTP概述

   FTP是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。

  FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。

FTP主动模式

 

 FTP被动模式

  ====总结就是,FTP协议是多通道协议,21端口是控制通道、20端口是数据通道;主动模式是FTP服务器主动发起连接,被动模式是客户端主动发起连接;

 被动模式下,问题较少;主动模式下,会存在一些问题,案例如下:

(防火墙上需要事先在ALG应用网关或者ASPF配置中间FTP选中)

内网用户访问外网FTP服务,如果使用passive模式,可以正常使用;

如果使用active模式,因为发送port指令给FTP服务器的时候,使用的内网地址,所以公网FTP服务器无法连接到内部客户端,造成访问失败;

----这里request arg:101281919716137

其中标黄字段是客户端的IP地址-10.128.19.197,标绿字段是客户端提供的用来建立数据隧道的端口号(计算方式:161*256+37=41253)

 

F5有针对该情况的配置(检测到FTP主动模式,会将port命令中的信息NAT成公网ip),防火墙上应该也是类似的;

配置outbound的ftp vs后,当有ACTIVE模式的ftp流量出去时,F5会把port命令中的内网地址转变为外网的snat地址,同时会在snat地址上临时开放port指令中的端口,以便接收FTP服务器过来的连接;

posted @ 2022-10-19 20:02  .dier  阅读(386)  评论(0编辑  收藏  举报