因业务需要客户将VSFTP主动模式改为被模式后,导致Linux客户端VSFTP上传下载文件显示229 Entering Extended Passive Mode

发布时间:  2016-01-03 浏览次数:  3340 下载次数:  0
问题描述
      客户VSFTP SERVER故障前配置的是主动模式,内网、外网访问一直正常。因业务需要将主动模式改为被模式后,在内网访问正常,在外网客户端可以正常登录,但上传、下载文件显示229 Entering Extended Passive Mode,无法上传、下载文件。
告警信息

<1>设备无告警。

<2>FTP客户端登录 VSFTPSERVER后,输入“ls”命令显示如下:

处理过程

<1>VSFTP SERVER服务器本地做FTP测试,判断FTP服务是否可用。

VSFTP SERVER服务器本地FTP登录,并上传下载是否正常?判断VSFTP SERVER服务是否是正常的。

        测试结果:从下方截图可以看出测试正常。

<2> 检查客户端与VSFTP SERVER间的网络连通性是否正常。

   从客户端ping VSFTP SERVER,检查网络是否可达(前提:防火墙是有可达安全策略的)。

   测试结果:测试正常,网络的连通性没有问题。

<3> 在客户端做FTP测试。

        测试结果:从客户端可以正常登录VSFTP SERVER,但无法上传、下载文件。

<4> 在客户端进行FTP上传、下载文件,并在客户端抓包。

<5> 从客户端抓取的报文显示客户端(172.16.117.1355467端口主动向VSFTP SERVER192.168.117.123000端口发起请求,建立三次握手失败。         分析:可能是客户将VSFTP由主动模式改为了被动模式。导致客户端向VSFTP SERER数据端口30000建立连接失败。


<6> 检查确认VSFTP SERVER的服务模式,是否是被动模式。

       检查VSFTP SERVER配置,发现客户因业务需要,的确将FTP由主动模式改为了被模式,并定义了数据端口为3000~30100

<7>检查防火墙安全策略。

     检查发现防火墙的TRUSTDMZ的域间策略,inbond方向只放通了21号端口,未放通30000~30100端口(本案例中VSFTP SERVER定义的是30000~30100端口)。

根因

<1>客户在调整 FTP服务模式前,采用的是主动模式:

控制通道:客户端会主动向服务端的21号端口发起请求。

数据通道:客户端的数据上传、下载,会由服务端通过端口20主动连接客户端进行数据响应传送。

    析:在此案例中,防火墙的TRUSTDMZ的域间策略,inbond开放了21端口,outbond全放通的情况下,FTP主动模式正常。

 

<2>客户在调整 FTP服务模式后,采用的是被动模式:

控制通道:客户端的命令请求,会主动向服务端的21号端口发起请求。

数据通道:客户端的数据上传、下载,会由客户端主动向服务器定义的数据端口(本案例中VSFTP SERVER定义的是30000~30100端口)发起数据请求、传送。

    析:在此案例中,防火墙的TRUSTDMZ域间策略,inbond开放了21端口,outbond全放通的情况下,因未放通indbond方向30000~30100端口,所以造成客户端只能登录FTP SERVER但不能进行数据上传、下载。

 

 

解决方案

 

<1>修改在防火墙的TRUSTDMZ域间策略,在inbond方向开放VSFTP SERVER的数据传输端口30000~30100,可以解决此问题。 但建议配置“detect ftp”来解决此问题更好。

detect ftp配置说明:由于FTP是多通道协议,控制通道和数据通道端口号不同,所以在配置严格包过滤的情况下,在只开放了控制通道21号端口的情况下,如果不配置detect ftp,则会造成数据报文无法通过USG5500的情况。

<2>此案例中通过detect来配置域间ASPF,来开放FTP的数据通道端口。

 

 

建议与总结


    <1>分析数据流走向,同时可抓包分析。

    <2>对于多通道协议,建议用detect来配置域间ASPF。

END