Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.5. 配置 FTP

FTP(檔案傳輸通訊協定,File Transport Protocol)是老舊且複雜的多通訊埠通訊協定,對 Load Balancer 外掛程式的環境來說,是項挑戰。要了解這項挑戰的本質,我們必須先了解 FTP 運作時的幾項關鍵。

3.5.1. FTP 如何運作

大部分伺服器與用戶端之間的關係,是用戶端機器會在特定連接埠上,開啟與伺服器之間的連線,然後伺服器會在該連接埠上回應用戶端。當 FTP 用戶端連上 FTP 伺服器時,會透過連接埠 21 開啟連線。然後「用戶端」會告訴 FTP 的「伺服器」端,要以「主動」(active)或「被動」(passive)方式來連接。此處用戶端選擇的連接方式會決定伺服器回應的方式、以及接下來要使用哪些連接埠。
兩種資料連線方式是:
主動連線
建立主動連線後,「伺服器」會開啟通往用戶端的資料連線,連接埠從 20 改為用戶端上的高端連接埠。所有來自伺服器的資料都會通過此連線傳遞。
被動連線
建立被動連線後,「用戶端」會要求 FTP 伺服器建立一個被動連線通訊埠,這可以是 10,000 以上的任何連接埠。伺服器接下來會綁定這個高端連接埠給這個特定的 session 使用,並將這連接埠號傳回給用戶端。然後用戶端會開啟新的綁定連接埠用以傳遞資料。用戶端要求的每個資料都會開啟新的資料連線。現今從伺服器要求資料時,FTP 用戶端多半採取被動連線。

注意

用戶端」— 而非伺服器端 — 會決定連線類型。這表示要有效地將 FTP 叢集化,您必須配置 LVS 路由器處理主動與被動連線。
FTP 這種用戶端與伺服器之間的關係可能會開啟大量 Piranha Configuration Tool 與 IPVS 所不知道的連接埠。