冰 点 网 络 菜 园 种 自 己 的 菜,给 自 己 吃

win2003开了系统防火墙后客户端ftp连接不上(附解决方法)

环境:win2003sp2        第三方FTP Server(非Microsoft FTP),一般情况下使用Serv-U

症状:当win2003启用防火墙(已经将ServUDaemon.exe文件添加到防火墙例外列表中),FTP客户端工具连接到服务器,无法正常列出服务器端的目录,到FEAT命令就下不去。但直接用IE登陆FTP可以正常浏览服务器端文件。

客户端FTP连接日志如下:
16:03:15] [右] 220 FTP Server for WinSock ready...
[16:03:15] [右] USER etxly
[16:03:16] [右] 331 User name okay, need password.
[16:03:16] [右] PASS (隐藏)
[16:03:16] [右] 230 User logged in, proceed.
[16:03:16] [右] FEAT
211-Extension supported
CLNT
MDTM
MDTM YYYYMMDDHHMMSS[+-TZ];filename
SIZE
SITE PSWD;EXEC;SET;INDEX;ZONE;CHMOD;MSG
REST STREAM
XCRC filename;start;end
211 End

feat命令的作用:网上搜索关于ftp feat命令作用的解释极少,整理了一下大概意思是用来请求FTP服务器列出它的所有的扩展命令与扩展功能的

==============================================================================

已知的解决办法:   

        1、关掉WIN2003的防火墙,任何FTP客户端工具都可以连上正常工作。 

        2、在FTP客户端工具(例如flashfxp)里面找到“站点不支持FEAT命令”选项,然后将其勾选。不同的客户端工具有不同的设置方法,大体意思是告诉客户端工具服务器不支持FEAT命令。

        以上两种方法都可以顺利解决前面遇到的问题,但是按方法1来做服务器就少了一道防线,按方法2做,如果FTP用户很多,每个FTP客户端软件都要修改设置,那岂不是很麻烦?

        那么,有没有一种解决方法在开启防火墙的情况下,如何让服务器支持FEAT命令。而不是要用户主动设置“站点不支持FEAT命令”

终极解决方案:
        在win2003的防火墙设置里,里面有个例外项,将serv-U文件加入(ServUDaemon.exe)

        最关键的:要把2003的防火墙里ftp相的勾去掉!设置里面有两处,一个在防火墙里,一个在网络连接属性了,都得去掉“FTP 服务器” !Microsoft的这种做法有点难以理解!用IIS自带的FTP则无需如此!

留言列表
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。