服務端用的Server-U,用戶端是windows 2008,系統防火牆是開啟的,win下的批處理指令碼很簡單,如下:
upload.bat
@echo offrem ////////////////////////////////////////////rem // Tianlesoftware rem // Files Upload Scriptsrem // 2012-6-29rem ////////////////////////////////////////////echo open 192.168.3.168 > ftp.txtecho username >> ftp.txtecho password >> ftp.txtecho bin >> ftp.txtecho cd \GroupBackup >> ftp.txtecho lcd E:\test >> ftp.txtecho prompt >> ftp.txtecho mput * >> ftp.txtecho bye >> ftp.txtftp -s:ftp.txtdel 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
QQ: tianlesoftware@gmail.com
Email: tianlesoftware@gmail.com
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