服务端用的Server-U,客户端是windows 2008,系统防火墙是开启的,win下的批处理脚本很简单,如下:
upload.bat
@echo off rem //////////////////////////////////////////// rem // Tianlesoftware rem // Files Upload Scripts rem // 2012-6-29 rem //////////////////////////////////////////// echo open 192.168.3.168 > ftp.txt echo username >> ftp.txt echo password >> ftp.txt echo bin >> ftp.txt echo cd \GroupBackup >> ftp.txt echo lcd E:\test >> ftp.txt echo prompt >> ftp.txt echo mput * >> ftp.txt echo bye >> ftp.txt ftp -s:ftp.txt del ftp.txt
因为这里开启了防火墙,所以测试的时候遇到了一个问题,就是能在服务端创建文件,但是无法上传,会一直挂在:
150 OpeningBINARY mode data connection for…
FTP 分主动和被动两种模式,这部分内容参考:
http://hi.baidu.com/bystander1983/blog/item/4c264a7f9b1022240cd7da80.html
FTP服务不象其它服务器,如DNS只使用UDP53端口,EMAIL只使用TCP的110和25端口,WEB使用TCP80端口,TFTP使用UDP的69端口,因为它的被动模式,服务器必须要提供一定的高于1024的端口供客户端使用。同时,我们也没有办法只要求用户只使用主动模式,因为用户可能并不了解这一情况,很多FTP客户端默认的是使用被动方式。因为,如果防火墙只开放20、21端口,会造成客户端可以进行用户验证,但无法列目录,也无法进行数据传送,并提示“你没有权限”这样的550返回错误。
参考Blog:
http://www.iwms.net/n1848c45.aspx
(1) 静态端口地址映射,可以让用户通过外网地址+端口21来访问内网中特定的FTP服务;
(2) 在防火墙中设置ACL,充许用户可以通过TCP访问FTP服务器的6800-6900端口;
(3) 设置Serv-U的PASV:管理--本地服务器---设置--高级设置中,在Server栏中,设置PASV prots range为6800-6900
(4) 启用设置。
关闭防火墙
在防火墙里配置规则,开放所有端口,但只争对固定的IP地址。这样就不需要在Server-U里做修改。
其他链接:
Linux 终端访问FTP 及 上传下载 文件
http://blog.csdn.net/tianlesoftware/article/details/5818990
-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
Skype: tianlesoftware
Email: [email protected]
Blog: http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
-------加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请----
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群:83829929 DBA5群: 142216823
DBA6 群:158654907 DBA7 群:172855474 DBA总群:104207940