Global Accelerator (GA)服務當前支援四層與七層協議的加速,其中包括FTP協議。本文為您介紹FTP協議的相關要點,並以當前主流的服務端vsftpd和用戶端FileZilla為例,介紹如何使用Global Accelerator服務加速FTP服務。
背景資訊
FTP(File Transfer Protocol)是一種檔案傳輸通訊協定,基於用戶端和伺服器架構,支援以下兩種工作模式:
主動模式(Active Mode):用戶端向FTP伺服器傳送埠資訊,由伺服器主動串連該連接埠。
被動模式(Passive Mode):FTP伺服器開啟並傳送埠資訊給用戶端,由用戶端串連該連接埠,伺服器被動接受串連。
主動模式的工作流程如下:
序號 | 流程描述 |
① | 用戶端向21連接埠發送控制串連請求,建立控制串連。 |
② | 用戶端向21連接埠報告可以用於資料轉送的連接埠2100。 |
③ | 服務端20連接埠主動串連用戶端的2100連接埠,進行資料轉送。 |
④ | 資料轉送完成後,服務端主動關閉串連。 |
被動模式的工作流程如下:
序號 | 流程描述 |
① | 用戶端向21連接埠發送控制串連請求,建立控制串連。 |
② | 服務端告知用戶端資料轉送連接埠為2120。 |
③ | 用戶端重新開啟一個連接埠串連服務端的資料轉送連接埠2120,並進行資料轉送。 |
④ | 資料轉送完成後,服務端主動關閉串連。 |
GA不支援服務端主動發起串連,因此只能支援FTP的被動模式。
FTP支援以下三種認證模式:
匿名使用者模式:任何人無需密碼驗證就可以直接登入到FTP伺服器。這種模式最不安全,一般只用來儲存不重要的公開檔案,不推薦在生產環境中使用。
本機使用者模式:通過Linux系統本地帳號進行驗證的模式,相較於匿名使用者模式更安全。
虛擬使用者模式:FTP伺服器的專有使用者。虛擬使用者只能訪問Linux系統為其提供的FTP服務,而不能訪問Linux系統的其他資源,進一步增強了FTP伺服器的安全性。
前提條件
FTP伺服器安全性群組已放通入方向21和2100~2120連接埠。
FTP伺服器已擁有公網IP地址。
使用限制
如果您的Global Accelerator執行個體無法加速FTP服務,可能是由於執行個體版本不支援。如需使用,請向商務經理申請升級執行個體。
配置步驟
本文以隨用隨付的標準型Global Accelerator執行個體為例,為您介紹如何配置Global Accelerator以實現FTP檔案傳輸服務加速。建立隨用隨付的標準型Global Accelerator執行個體前,請先瞭解以下資訊:
步驟一:安裝FTP軟體並配置FTP伺服器
以下步驟介紹如何在作業系統為Alibaba Cloud Linux 3的ECS執行個體上安裝並配置vsftpd。當您使用不同作業系統和vsftpd軟體版本時,可能需要根據實際情況調整命令和參數配置。
遠端連線Linux執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
執行以下命令安裝vsftpd。
yum install -y vsftpd使用本機使用者模式進行認證,建立FTP使用者。
# 建立linux使用者ftpdemo adduser ftpdemo # 修改使用者ftpdemo的密碼 passwd ftpdemo # 建立一個供FTP服務使用的檔案目錄 mkdir /var/ftp/demo # ftpdemo使用者擁有此目錄 chown -R ftpdemo:ftpdemo /var/ftp/demo配置vsftpd。
vim /etc/vsftpd/vsftpd.conf修改設定檔如下:
# 除下面提及的參數外,其他參數保持預設值即可 # 修改下列參數的值 # 禁止匿名登入FTP伺服器 anonymous_enable=NO # 允許本機使用者登入FTP伺服器 local_enable=YES # 監聽IPv4 sockets listen=YES # 關閉監聽IPv6 sockets # listen_ipv6=NO # 添加下列參數 # 設定本機使用者登入後所在目錄 local_root=/var/ftp/demo # 開啟被動模式 pasv_enable=YES # 關閉安全檢查,需配置為YES,否則FTP用戶端不能上傳檔案到FTP伺服器 pasv_promiscuous=YES # 設定被動模式下,建立資料轉送可使用的連接埠範圍的最小值 pasv_min_port=2100 # 設定被動模式下,建立資料轉送可使用的連接埠範圍的最大值 pasv_max_port=2120按Esc退出編輯模式,然後輸入
:wq並斷行符號以儲存並關閉檔案。執行以下命令查看或啟動vsftpd服務。
# 重啟vsftpd服務 systemctl restart vsftpd.service # 查看vsftpd服務的狀態 systemctl status vsftpd
步驟二:配置執行個體基礎資訊
在執行個體列表頁面,單擊建立加速執行個體。並根據需要選擇標準型訂用帳戶或標準型隨用隨付。
本文選擇標準型隨用隨付。
在執行個體基礎配置設定精靈頁面,根據以下資訊進行配置,然後單擊下一步。
配置
說明
Global Acceleration執行個體名稱
輸入Global Acceleration執行個體名稱。
執行個體計費方式
預設為隨用隨付。
使用隨用隨付的標準型Global Accelerator執行個體,產生的費用包括:執行個體費、效能容量單位CU費和流量費。
關於執行個體費、效能容量單位CU費更多資訊,請參見隨用隨付Global Acceleration執行個體計費。
關於流量費,請參見流量計費。
資源群組
選擇標準型Global Accelerator執行個體所屬的資源群組。
該資源群組為當前阿里雲帳號在資源管理中建立的資源群組。更多資訊,請參見建立資源群組。
步驟三:配置加速地區
為Global Accelerator執行個體配置加速地區,指定可以加速訪問後端服務的使用者所在的地區並為其分配加速頻寬。
在配置加速地區設定精靈頁面,根據以下資訊配置加速地區,然後單擊下一步。
配置 | 說明 |
加速地區 | 在下拉式清單中選中需要進行訪問加速的一個地區或多個地區,然後單擊添加至列表。 本文選中中國(香港)地區。 |
分配頻寬 | |
頻寬峰值 | 設定加速地區的頻寬。每個加速地區支援分配的頻寬範圍為2~10000 Mbps。 此處頻寬峰值僅作限速,產生的流量費用統一由CDT結算出賬。 本文保持預設值200 Mbps。 重要 如果頻寬峰值設定過低,可能出現限速從而導致流量被丟棄,請合理規劃頻寬峰值,確保和業務需求匹配。 |
IP地址協議 | 選擇接入Global Accelerator服務的IP地址協議。 本文保持預設值IPv4。 |
公網品質類型 | 選擇接入Global Accelerator服務的公網品質類型。 本文選擇BGP(多線)。 |
步驟四:配置監聽
監聽負責檢查串連請求,根據您指定的連接埠和協議處理來自用戶端的入站串連。每個監聽都關聯一個終端節點群組,通過指定要分發流量的地區,將終端節點群組與監聽關聯。關聯後,Global Acceleration會將流量分配到與監聽關聯的終端節點群組內的最佳終端節點。
在配置監聽設定精靈頁面,配置監聽,然後單擊下一步。
此處僅介紹本文強相關的配置項,其餘配置項可保持預設配置。更多資訊,請參見添加和管理智能路由類型監聽。
配置 | 說明 |
監聽名稱 | 輸入監聽的名稱。 |
路由類型 | 選擇路由類型。 本文選擇智能路由。 |
協議 | 選擇監聽的協議類型。 本文選擇TCP。 |
連接埠 | 指定用來接收請求並向終端節點進行轉寄的監聽連接埠,連接埠取值範圍:1-65499。 本文輸入21,2100-2120。2100-2120為步驟一:安裝FTP軟體並配置FTP伺服器中FTP伺服器中vsftpd.conf設定檔的pasv_min_port~pasv_max_port。 |
用戶端親和性 | 選擇是否保持用戶端親和性。保持用戶端親和性,即用戶端訪問有狀態的應用程式時,可以將來自同一用戶端的所有請求都定向到同一終端節點。 本文選擇源IP。 |
步驟五:配置終端節點群組和終端節點
在配置終端節點群組設定精靈頁面,根據以下資訊配置終端節點群組和終端節點,然後單擊下一步。
此處僅介紹本文情境強相關配置項,關於終端節點配置項更多資訊,請參見添加和管理智能路由類型監聽的終端節點群組。
說明FTP協議在用戶端和伺服器之間建立了兩條通訊鏈路、分別是控制鏈路和資料鏈路。其中,控制鏈路負責FTP會話過程中FTP命令的發送和接收。資料鏈路則負責資料的傳輸。
在服務所在地區(終端節點群組所屬地區),GA執行個體有多個終端節點出公網IP,但部分FTP伺服器配置了串連檢查,要求控制鏈路和資料鏈路的用戶端IP必須相同,這時需要關閉FTP服務端的源IP檢查,或者需要您聯絡客戶經理開通GA源一致性。
配置
說明
地區
選擇終端節點群組所屬的地區。
本文選擇美國(矽谷)。
終端節點配置
終端節點是用戶端請求訪問的目標主機。您可以根據以下資訊配置終端節點:
後端服務類型:選擇阿里雲公網IP。
後端服務:輸入要加速的後端服務的IP地址。本文輸入FTP伺服器的公網IP。
權重:輸入終端節點的權重,權重取值範圍:0~255。Global Accelerator根據您配置的權重按比例將流量路由到終端節點。 本文保持預設值255。
警告如果某個終端節點的權重設定為0,Global Accelerator將終止向該終端節點分發流量,請您謹慎操作。
保持客戶端源IP
選擇是否保持用戶端源IP。
選擇保持用戶端源IP,後端伺服器可以通過該功能擷取用戶端源IP。更多資訊,請參見保持用戶端源IP。
本文保持預設配置不保持。
在組態稽核設定精靈頁面,確認資訊,然後單擊提交。
說明建立Global Accelerator執行個體預計耗時3~5分鐘,請您耐心等待。
可選:建立任務完成後,在建立任務詳情列表下方,單擊進入執行個體詳情,然後在執行個體詳情頁,可選擇執行個體資訊、監聽、加速地區等頁簽查看執行個體配置資訊。
步驟六:用戶端訪問測試
本文以Windows Server 2022系統的本地主機作為FTP用戶端,使用FileZilla進行檔案傳輸。
遠端連線Windows執行個體。
具體操作,請參見通過密碼認證登入Windows執行個體。
啟動FileZilla軟體。
您可以訪問FileZilla官網下載安裝FileZilla軟體。
在頂部功能表列,選擇。
在網站管理器對話方塊,單擊新網站,在選擇記錄地區設定網站名稱,並在右側常規地區配置傳輸資訊。
本文中網站名稱設定為GA加速。

配置
說明
協議
選擇FTP-檔案傳輸通訊協定。
主機
輸入FTP登入主機地址,即Global Acceleration的加速IP。
使用者
輸入FTP登入使用者名稱ftpdemo。
密碼
輸入FTP登入密碼。
表格中未提到的配置項可保持預設。
單擊串連,即可串連到FTP伺服器。
串連成功後,您可以對網站檔案進行上傳、下載、建立和刪除等操作。FileZilla工具介面如下圖所示。

各地區的作用如下表:
序號
說明
①
顯示命令、FTP串連狀態和任務執行結果。
②
本地地區,即本地硬碟。
③
遠程地區,即網站地區。雙擊目錄表徵圖可進入相關目錄。
④
記錄地區,可查看FTP任務的隊列資訊和日誌資訊。
開啟命令列視窗,執行以下命令,查看資料包延遲情況。
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" ftp://<GA加速IP>/<檔案路徑> --user <username>:<password>其中:
time_connect:連線時間,從開始到建立TCP串連完成所用的時間,單位為秒。
time_starttransfer:開始傳輸時間。在用戶端發出請求後,到後端伺服器響應第一個位元組所用的時間,單位為秒。
time_total:串連總時間。用戶端發出請求後,到後端伺服器響應會話所用的時間,單位為秒。
經測試,使用Global Acceleration後,降低了中國香港FTP用戶端訪問美國(矽谷)FTP伺服器的延遲。
圖 1. 加速前的訪問延遲情況

圖 2. 加速後的訪問延遲情況
說明使用Global Acceleration服務加速FTP用戶端訪問FTP伺服器的加速效果以您的實際業務測試為準。