FTP文件傳輸服務(wù)加速
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
全球加速 GA(Global Accelerator)服務(wù)當(dāng)前支持四層與七層協(xié)議的加速,其中包括FTP協(xié)議。本文為您介紹FTP協(xié)議的相關(guān)要點(diǎn),并以當(dāng)前主流的服務(wù)端vsftpd和客戶端FileZilla為例,介紹如何使用全球加速服務(wù)加速FTP服務(wù)。
背景信息
FTP(File Transfer Protocol)是一種文件傳輸協(xié)議,基于客戶端和服務(wù)器架構(gòu),支持以下兩種工作模式:
主動(dòng)模式(Active Mode):客戶端向FTP服務(wù)器發(fā)送端口信息,由服務(wù)器主動(dòng)連接該端口。
被動(dòng)模式(Passive Mode):FTP服務(wù)器開啟并發(fā)送端口信息給客戶端,由客戶端連接該端口,服務(wù)器被動(dòng)接受連接。
主動(dòng)模式的工作流程如下:
序號(hào) | 流程描述 |
① | 客戶端向21端口發(fā)送控制連接請(qǐng)求,建立控制連接。 |
② | 客戶端向21端口報(bào)告可以用于數(shù)據(jù)傳輸?shù)亩丝?100。 |
③ | 服務(wù)端20端口主動(dòng)連接客戶端的2100端口,進(jìn)行數(shù)據(jù)傳輸。 |
④ | 數(shù)據(jù)傳輸完成后,服務(wù)端主動(dòng)關(guān)閉連接。 |
被動(dòng)模式的工作流程如下:
序號(hào) | 流程描述 |
① | 客戶端向21端口發(fā)送控制連接請(qǐng)求,建立控制連接。 |
② | 服務(wù)端告知客戶端數(shù)據(jù)傳輸端口為2120。 |
③ | 客戶端重新開啟一個(gè)端口連接服務(wù)端的數(shù)據(jù)傳輸端口2120,并進(jìn)行數(shù)據(jù)傳輸。 |
④ | 數(shù)據(jù)傳輸完成后,服務(wù)端主動(dòng)關(guān)閉連接。 |
GA不支持服務(wù)端主動(dòng)發(fā)起連接,因此只能支持FTP的被動(dòng)模式。
FTP支持以下三種認(rèn)證模式:
匿名用戶模式:任何人無需密碼驗(yàn)證就可以直接登錄到FTP服務(wù)器。這種模式最不安全,一般只用來保存不重要的公開文件,不推薦在生產(chǎn)環(huán)境中使用。
本地用戶模式:通過Linux系統(tǒng)本地賬號(hào)進(jìn)行驗(yàn)證的模式,相較于匿名用戶模式更安全。
虛擬用戶模式:FTP服務(wù)器的專有用戶。虛擬用戶只能訪問Linux系統(tǒng)為其提供的FTP服務(wù),而不能訪問Linux系統(tǒng)的其他資源,進(jìn)一步增強(qiáng)了FTP服務(wù)器的安全性。
前提條件
FTP服務(wù)器安全組已放通入方向21和2100~2120端口。
FTP服務(wù)器已擁有公網(wǎng)IP地址。
本文以阿里云服務(wù)器ECS(Elastic Compute Service)作為FTP服務(wù)器。關(guān)于阿里云ECS如何配置安全組和公網(wǎng)IP,請(qǐng)參見安全組操作導(dǎo)航和快速入門。
使用限制
如果您的全球加速實(shí)例無法加速FTP服務(wù),可能是由于實(shí)例版本不支持。如需使用,請(qǐng)向商務(wù)經(jīng)理申請(qǐng)升級(jí)實(shí)例。
配置步驟
本文以按量付費(fèi)的標(biāo)準(zhǔn)型全球加速實(shí)例為例,為您介紹如何配置全球加速以實(shí)現(xiàn)FTP文件傳輸服務(wù)加速。創(chuàng)建按量付費(fèi)的標(biāo)準(zhǔn)型全球加速實(shí)例前,請(qǐng)先了解以下信息:
按量付費(fèi)全球加速實(shí)例采用按流量的帶寬計(jì)費(fèi)方式,無需綁定帶寬包。接入全球加速網(wǎng)絡(luò)產(chǎn)生的流量費(fèi)用統(tǒng)一由云數(shù)據(jù)傳輸 CDT(Cloud Data Transfer)結(jié)算出賬。更多信息,請(qǐng)參見流量計(jì)費(fèi)。
首次使用按量付費(fèi)全球加速實(shí)例,您需要在服務(wù)開通頁面根據(jù)提示開通按量付費(fèi)全球加速服務(wù)。
步驟一:安裝FTP軟件并配置FTP服務(wù)器
以下步驟介紹如何在操作系統(tǒng)為Alibaba Cloud Linux 3的ECS實(shí)例上安裝并配置vsftpd。當(dāng)您使用不同操作系統(tǒng)和vsftpd軟件版本時(shí),可能需要根據(jù)實(shí)際情況調(diào)整命令和參數(shù)配置。
遠(yuǎn)程連接Linux實(shí)例。
具體操作,請(qǐng)參見通過密碼或密鑰認(rèn)證登錄Linux實(shí)例。
執(zhí)行以下命令安裝vsftpd。
yum install -y vsftpd
使用本地用戶模式進(jìn)行認(rèn)證,創(chuàng)建FTP用戶。
# 創(chuàng)建linux用戶ftpdemo adduser ftpdemo # 修改用戶ftpdemo的密碼 passwd ftpdemo # 創(chuàng)建一個(gè)供FTP服務(wù)使用的文件目錄 mkdir /var/ftp/demo # ftpdemo用戶擁有此目錄 chown -R ftpdemo:ftpdemo /var/ftp/demo
配置vsftpd。
vim /etc/vsftpd/vsftpd.conf
修改配置文件如下:
# 除下面提及的參數(shù)外,其他參數(shù)保持默認(rèn)值即可 # 修改下列參數(shù)的值 # 禁止匿名登錄FTP服務(wù)器 anonymous_enable=NO # 允許本地用戶登錄FTP服務(wù)器 local_enable=YES # 監(jiān)聽IPv4 sockets listen=YES # 關(guān)閉監(jiān)聽IPv6 sockets # listen_ipv6=NO # 添加下列參數(shù) # 設(shè)置本地用戶登錄后所在目錄 local_root=/var/ftp/demo # 開啟被動(dòng)模式 pasv_enable=YES # 關(guān)閉安全檢查,需配置為YES,否則FTP客戶端不能上傳文件到FTP服務(wù)器 pasv_promiscuous=YES # 設(shè)置被動(dòng)模式下,建立數(shù)據(jù)傳輸可使用的端口范圍的最小值 pasv_min_port=2100 # 設(shè)置被動(dòng)模式下,建立數(shù)據(jù)傳輸可使用的端口范圍的最大值 pasv_max_port=2120
按Esc退出編輯模式,然后輸入
:wq
并回車以保存并關(guān)閉文件。執(zhí)行以下命令查看或啟動(dòng)vsftpd服務(wù)。
# 重啟vsftpd服務(wù) systemctl restart vsftpd.service # 查看vsftpd服務(wù)的狀態(tài) systemctl status vsftpd
步驟二:配置實(shí)例基礎(chǔ)信息
在實(shí)例列表頁面,單擊創(chuàng)建標(biāo)準(zhǔn)型按量付費(fèi)實(shí)例。
在實(shí)例基礎(chǔ)配置配置向?qū)ы撁妫鶕?jù)以下信息進(jìn)行配置,然后單擊下一步。
配置
說明
全球加速實(shí)例名稱
輸入全球加速實(shí)例名稱。
實(shí)例計(jì)費(fèi)方式
默認(rèn)為按量付費(fèi)。
使用按量付費(fèi)的標(biāo)準(zhǔn)型全球加速實(shí)例,產(chǎn)生的費(fèi)用包括:實(shí)例費(fèi)、性能容量單位CU費(fèi)和流量費(fèi)。
關(guān)于實(shí)例費(fèi)、性能容量單位CU費(fèi)的更多信息,請(qǐng)參見按量付費(fèi)全球加速實(shí)例計(jì)費(fèi)。
關(guān)于流量費(fèi),請(qǐng)參見流量計(jì)費(fèi)。
資源組
選擇標(biāo)準(zhǔn)型全球加速實(shí)例所屬的資源組。
該資源組為當(dāng)前阿里云賬號(hào)在資源管理中創(chuàng)建的資源組。更多信息,請(qǐng)參見創(chuàng)建資源組。
步驟三:配置加速區(qū)域
為全球加速實(shí)例配置加速區(qū)域,指定可以加速訪問后端服務(wù)的用戶所在的地域并為其分配加速帶寬。
在配置加速區(qū)域配置向?qū)ы撁妫鶕?jù)以下信息配置加速區(qū)域,然后單擊下一步。
配置 | 說明 |
加速區(qū)域 | 在下拉列表中選中需要進(jìn)行訪問加速的一個(gè)地域或多個(gè)地域,然后單擊添加至列表。 本文選中中國(香港)地域。 |
分配帶寬 | |
帶寬峰值 | 設(shè)置加速地域的帶寬。每個(gè)加速地域支持分配的帶寬范圍為2~10000 Mbps。 此處帶寬峰值僅作限速,產(chǎn)生的流量費(fèi)用統(tǒng)一由CDT結(jié)算出賬。 本文保持默認(rèn)值200 Mbps。 重要 如果帶寬峰值設(shè)置過低,可能出現(xiàn)限速從而導(dǎo)致流量被丟棄,請(qǐng)合理規(guī)劃帶寬峰值,確保和業(yè)務(wù)需求匹配。 |
IP地址協(xié)議 | 選擇接入全球加速服務(wù)的IP地址協(xié)議。 本文保持默認(rèn)值IPv4。 |
公網(wǎng)質(zhì)量類型 | 選擇接入全球加速服務(wù)的公網(wǎng)質(zhì)量類型。 本文選擇BGP(多線)。 |
步驟四:配置監(jiān)聽
監(jiān)聽負(fù)責(zé)檢查連接請(qǐng)求,根據(jù)您指定的端口和協(xié)議處理來自客戶端的入站連接。每個(gè)監(jiān)聽都關(guān)聯(lián)一個(gè)終端節(jié)點(diǎn)組,通過指定要分發(fā)流量的地域,將終端節(jié)點(diǎn)組與監(jiān)聽關(guān)聯(lián)。關(guān)聯(lián)后,全球加速會(huì)將流量分配到與監(jiān)聽關(guān)聯(lián)的終端節(jié)點(diǎn)組內(nèi)的最佳終端節(jié)點(diǎn)。
在配置監(jiān)聽配置向?qū)ы撁妫渲帽O(jiān)聽,然后單擊下一步。
此處僅介紹本文強(qiáng)相關(guān)的配置項(xiàng),其余配置項(xiàng)可保持默認(rèn)配置。更多信息,請(qǐng)參見添加和管理智能路由類型監(jiān)聽。
配置 | 說明 |
監(jiān)聽名稱 | 輸入監(jiān)聽的名稱。 |
路由類型 | 選擇路由類型。 本文選擇智能路由。 |
協(xié)議 | 選擇監(jiān)聽的協(xié)議類型。 本文選擇TCP。 |
端口 | 指定用來接收請(qǐng)求并向終端節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)的監(jiān)聽端口,端口取值范圍:1-65499。 本文輸入21,2100-2120。2100-2120為步驟一:安裝FTP軟件并配置FTP服務(wù)器中FTP服務(wù)器中vsftpd.conf配置文件的pasv_min_port~pasv_max_port。 |
客戶端親和性 | 選擇是否保持客戶端親和性。保持客戶端親和性,即客戶端訪問有狀態(tài)的應(yīng)用程序時(shí),可以將來自同一客戶端的所有請(qǐng)求都定向到同一終端節(jié)點(diǎn)。 本文選擇源IP。 |
步驟五:配置終端節(jié)點(diǎn)組和終端節(jié)點(diǎn)
在配置終端節(jié)點(diǎn)組配置向?qū)ы撁妫鶕?jù)以下信息配置終端節(jié)點(diǎn)組和終端節(jié)點(diǎn),然后單擊下一步。
此處僅介紹本文場景強(qiáng)相關(guān)配置項(xiàng),關(guān)于終端節(jié)點(diǎn)配置項(xiàng)更多信息,請(qǐng)參見添加和管理智能路由類型監(jiān)聽的終端節(jié)點(diǎn)組。
說明FTP協(xié)議在客戶端和服務(wù)器之間建立了兩條通信鏈路、分別是控制鏈路和數(shù)據(jù)鏈路。其中,控制鏈路負(fù)責(zé)FTP會(huì)話過程中FTP命令的發(fā)送和接收。數(shù)據(jù)鏈路則負(fù)責(zé)數(shù)據(jù)的傳輸。
在服務(wù)所在地域(終端節(jié)點(diǎn)組所屬地域),GA實(shí)例有多個(gè)終端節(jié)點(diǎn)出公網(wǎng)IP,但部分FTP服務(wù)器配置了連接檢查,要求控制鏈路和數(shù)據(jù)鏈路的客戶端IP必須相同,這時(shí)需要關(guān)閉FTP服務(wù)端的源IP檢查,或者需要您聯(lián)系客戶經(jīng)理開通GA源一致性。
配置
說明
地域
選擇終端節(jié)點(diǎn)組所屬的地域。
本文選擇美國(硅谷)。
終端節(jié)點(diǎn)配置
終端節(jié)點(diǎn)是客戶端請(qǐng)求訪問的目標(biāo)主機(jī)。您可以根據(jù)以下信息配置終端節(jié)點(diǎn):
后端服務(wù)類型:選擇阿里云公網(wǎng)IP。
后端服務(wù):輸入要加速的后端服務(wù)的IP地址。本文輸入FTP服務(wù)器的公網(wǎng)IP。
權(quán)重:輸入終端節(jié)點(diǎn)的權(quán)重,權(quán)重取值范圍:0~255。全球加速根據(jù)您配置的權(quán)重按比例將流量路由到終端節(jié)點(diǎn)。 本文保持默認(rèn)值255。
警告如果某個(gè)終端節(jié)點(diǎn)的權(quán)重設(shè)置為0,全球加速將終止向該終端節(jié)點(diǎn)分發(fā)流量,請(qǐng)您謹(jǐn)慎操作。
保持客戶端源IP
選擇是否保持客戶端源IP。
選擇保持客戶端源IP,后端服務(wù)器可以通過該功能獲取客戶端源IP。更多信息,請(qǐng)參見保持客戶端源IP。
本文保持默認(rèn)配置不保持。
在配置審核配置向?qū)ы撁妫_認(rèn)信息,然后單擊提交。
說明創(chuàng)建全球加速實(shí)例預(yù)計(jì)耗時(shí)3~5分鐘,請(qǐng)您耐心等待。
可選:創(chuàng)建任務(wù)完成后,在創(chuàng)建任務(wù)詳情列表下方,單擊進(jìn)入實(shí)例詳情,然后在實(shí)例詳情頁,可選擇實(shí)例信息、監(jiān)聽、加速區(qū)域等頁簽查看實(shí)例配置信息。
步驟六:客戶端訪問測試
本文以Windows Server 2022系統(tǒng)的本地主機(jī)作為FTP客戶端,使用FileZilla進(jìn)行文件傳輸。
遠(yuǎn)程連接Windows實(shí)例。
具體操作,請(qǐng)參見通過密碼認(rèn)證登錄Windows實(shí)例。
啟動(dòng)FileZilla軟件。
您可以訪問FileZilla官網(wǎng)下載安裝FileZilla軟件。
在頂部菜單欄,選擇 。
在站點(diǎn)管理器對(duì)話框,單擊新站點(diǎn),在選擇記錄區(qū)域設(shè)置站點(diǎn)名稱,并在右側(cè)常規(guī)區(qū)域配置傳輸信息。
本文中站點(diǎn)名稱設(shè)置為GA加速。
配置
說明
協(xié)議
選擇FTP-文件傳輸協(xié)議。
主機(jī)
輸入FTP登錄主機(jī)地址,即全球加速的加速IP。
用戶
輸入FTP登錄用戶名ftpdemo。
密碼
輸入FTP登錄密碼。
表格中未提到的配置項(xiàng)可保持默認(rèn)。
單擊連接,即可連接到FTP服務(wù)器。
連接成功后,您可以對(duì)網(wǎng)站文件進(jìn)行上傳、下載、新建和刪除等操作。FileZilla工具界面如下圖所示。
各區(qū)域的作用如下表:
序號(hào)
說明
①
顯示命令、FTP連接狀態(tài)和任務(wù)執(zhí)行結(jié)果。
②
本地區(qū)域,即本地硬盤。
③
遠(yuǎn)程區(qū)域,即站點(diǎn)區(qū)域。雙擊目錄圖標(biāo)可進(jìn)入相關(guān)目錄。
④
記錄區(qū)域,可查看FTP任務(wù)的隊(duì)列信息和日志信息。
打開命令行窗口,執(zhí)行以下命令,查看數(shù)據(jù)包延遲情況。
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:連接時(shí)間,從開始到建立TCP連接完成所用的時(shí)間,單位為秒。
time_starttransfer:開始傳輸時(shí)間。在客戶端發(fā)出請(qǐng)求后,到后端服務(wù)器響應(yīng)第一個(gè)字節(jié)所用的時(shí)間,單位為秒。
time_total:連接總時(shí)間。客戶端發(fā)出請(qǐng)求后,到后端服務(wù)器響應(yīng)會(huì)話所用的時(shí)間,單位為秒。
經(jīng)測試,使用全球加速后,降低了中國香港FTP客戶端訪問美國(硅谷)FTP服務(wù)器的延遲。
說明使用全球加速服務(wù)加速FTP客戶端訪問FTP服務(wù)器的加速效果以您的實(shí)際業(yè)務(wù)測試為準(zhǔn)。