FTP基础知识及排障方法
生活随笔
收集整理的這篇文章主要介紹了
FTP基础知识及排障方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
FTP基礎知識及排障方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
?
在近來的工作中遇到這個問題,一臺Server-U FTP服務器一啟動操作系統自帶的防火墻后,使用IE和資源管理器無法訪問FTP站點。但是使用命令行又可以訪問,對此很是郁悶。于是便花時間來進行處理此事,最終得以解決。下面我便介紹一下FTP相關知識及我處理過程。?
一、FTP基礎知識 FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩臺計算機之間互相傳送文件。相比于HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。?
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴服務器:“我打開了****端口,你過來連接我”。于是服務器從20端口向客戶端的****端口發送連接請求,建立一條數據鏈路來傳送數據。?
PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用 PASV命令告訴客戶端:“我打開了****端口,你過來連接我”。于是客戶端向服務器的****端口發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在于此。?
二、FTP服務器端的注意事項 2.1、FTP服務器是公網IP,用公網靜態域名 A、服務器如果安裝了防火墻,請記住要在防火墻上打開FTP端口(默認是21)。 B、所有FTP服務器軟件都支持PORT方式。至于PASV方式,大部分FTP服務器軟件都支持。支持PASV方式的FTP服務器軟件,也可以設置為只工作在PORT方式上。 C、為了PASV方式能正常工作,需要在FTP服務器軟件上為PASV方式指定可用的端口范圍(設置方法)。此外,還要在服務器的防火墻上打開這些端口。當客戶端以PASV方式連接服務器的時候,服務器就會在這個端口范圍里挑選一個端口出來,給客戶端連接。?
2.2、FTP服務器是內網IP 這種情況下,FTP服務器不需要做特殊設置,只要支持PASV方式就可以了。大部分FTP服務器軟件都支持PASV方式。?
三、FTP客戶端的注意事項 請注意:選擇用PASV方式還是PORT方式登錄FTP服務器,選擇權在FTP客戶端,而不是在FTP服務器。 3.1、客戶端只有內網IP,沒有公網IP?
從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP服務器。很多FTP管理員發現自己的服務器有人能登錄上,有人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。?
3.2、客戶端有公網IP,但安裝了防火墻 如果用PASV方式登錄FTP服務器,因為建立數據鏈路的時候,是由客戶端向服務器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP服務器,因為建立數據鏈路的時候,是由服務器向客戶端發送連接請求,此時連接請求會被防火墻攔截。如果要用PORT方式登錄FTP服務器,請在防火墻上打開 1024以上的高端端口。?
?
3.3、常見的FTP客戶端軟件PORT方式與PASV方式的切換方法。?
大部分FTP客戶端默認使用PASV方式。IE6.0以后默認也使用PASV方式。XP操作系統的資源管理器打開FTP默認也使用PASV方式(我的電腦是這樣的) 在大部分FTP客戶端的設置里,常見到的字眼都是“PASV”或“被動模式”,極少見到“PORT”或“主動模式”等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。 在IE查看FTP模式: 工具 -> Internet選項 -> 高級 -> “使用被動FTP”(需要IE6.0以上才支持)。(具體請看示圖) ?3.4、請盡量不要用IE作為FTP客戶端
?
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。在測試自己的FTP網站的時候,強烈建議不要使用IE。我常使用資源管理器。?
四、解決問題 從上面的知識部分的介紹,現在來說一下實際的環境。 服務器端:有一個公網IP地址直接與internet相連,前端出口的硬件防火墻只做一起簡單的配置,因此需要在服務器開啟操作系統自帶的軟件防火墻來保護服務器。 客戶端:絕大部分是沒有公網IP的企業內部用戶,操作系統多為windows XP以上版本。小量用戶是安裝有windows Server 2003的具有公網IP地址的服務器。 結合實際環境和FTP知識得出在FTP服務器需要打開主動和被動兩種模式來供客戶端使用。而我開始只在軟件防火墻上開啟了主動模式。在這種情況下,使用命令行和部分FTP客戶端軟件可以進行連接。而常用的IE,資源管理器和部分的FTP客戶端軟件不能連接。我們需要在FTP服務器軟件開啟被動模式,并在防火墻開放相應端口。?
FTP服務器軟件是Server-U. 4.1被動模式配置操作: A,打開Serv-U的管理界面:開始—程序—Serv-U---Serv-U administrator. B,配置被動模式:Serv-U服務器—本地服務器—配置---高級---在服務器欄的PASV端口范圍中輸入你分配給FTP端口范圍(此處我輸入6000-6005)--應用。(具體請看示圖) 4.2軟件防火墻的設置操作: A, 打開防火配置界面:右擊“網上鄰居”—屬性—右擊“本地連接”—屬性—在本地連接屬性頁上點擊”高級”---在windows 防火墻欄中點擊設置---在windows 防火墻頁上點擊”例外” B, 添加FTP被動端口:添加端口—輸入端口名稱(我輸入FTP 6000)--在端口號中輸入需要開放的相應端口(此處我輸入 6000)---由于客戶端比較分散,此處我沒有限制源地址的范圍,而直接點擊” 確定“。按上述的方法將其它開放的FTP添加到例外中。(具體請看示圖) C, 啟用防火墻:在windows 防火墻 頁中點擊常規,---點擊”啟用”。?
4.3 客戶端FTP測試(略)轉載于:https://blog.51cto.com/freepeng/249028
總結
以上是生活随笔為你收集整理的FTP基础知识及排障方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决MSSQL MMC企业管理器打开报错
- 下一篇: 《智慧书》格言211-220