04-FTP和TFTP配置
本章節下載: 04-FTP和TFTP配置 (279.33 KB)
設備運行於FIPS模式時,不支持本特性。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
FTP(File Transfer Protocol,文件傳輸協議)用於在FTP服務器和FTP客戶端之間傳輸文件,是IP網絡上傳輸文件的通用協議。
FTP協議使用TCP端口20和21進行傳輸。端口20用於傳輸數據,端口21用於傳輸控製消息。FTP協議基本操作在RFC959中進行了描述。
FTP有兩種文件傳輸模式:
· 二進製模式,用於傳輸非文本文件(比如後綴名為.app、.bin和.btm的文件);
· ASCII碼模式,用於傳輸文本格式的文件(比如後綴名為.txt、.bat和.cfg的文件)。
當設備作為FTP客戶端時,使用的傳輸模式用戶可通過命令行修改,缺省為二進製模式;當設備作為FTP服務器時,使用的傳輸模式由FTP客戶端決定。
FTP有兩種工作方式:
· 主動方式(PORT):建立數據連接時由FTP服務器發起連接請求,當FTP客戶端處於防火牆後時不適用(如FTP客戶端處於私網內)。
· 被動方式(PASV):建立數據連接時由FTP客戶端發起連接請求,當FTP服務器限製客戶端連接其高位端口(一般情況下大於1024)時不適用。
是否使用被動方式由FTP客戶端程序決定,不同FTP客戶端軟件對FTP工作方式的支持情況可能不同,請在使用時以軟件的實際情況為準。
設備可以作為FTP服務器,也可以作為FTP客戶端。
圖1-1 FTP組網應用示意圖
在建立FTP連接前請確保FTP服務器與FTP客戶端之間路由可達,否則,連接建立失敗。
當設備作為FTP服務器時,至少要開啟FTP服務器功能,並配置FTP服務器的認證和授權,其它命令請根據需要選擇配置。
表1-1 配置FTP服務器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動FTP服務器功能 |
ftp server enable |
缺省情況下,FTP服務器功能處於關閉狀態 |
(可選)使用ACL(Access Control List,訪問控製列表)限製哪些FTP客戶端可以訪問設備 |
ftp server acl { ipv4-acl-number | ipv6 ipv6-acl-number } |
缺省情況下,未使用ACL限製FTP客戶端 |
(可選)配置FTP服務與SSL服務器端策略關聯 |
ftp server ssl-server-policy policy-name |
缺省情況下,未配置SSL服務器端策略與FTP服務關聯 |
(可選)配置FTP服務器的連接空閑時間 |
ftp timeout minutes |
缺省情況下,連接空閑時間為30分鍾 如果在設置的連接空閑時間到期時,FTP服務器和客戶端一直沒有信息交互,則斷開它們之間的連接 |
(可選)配置FTP服務器發送的FTP報文的DSCP優先級 |
ftp server dscp dscp-value |
二者選其一 缺省情況下,FTP服務器發送的FTP報文的DSCP優先級為0,FTP服務器發送的IPv6 FTP報文的DSCP優先級為0 |
(可選)配置FTP服務器發送的IPv6 FTP報文的DSCP優先級 |
ftp server ipv6 dscp dscp-value |
|
(可選)配置使用FTP方式同時登錄設備的在線的最大用戶連接數 |
aaa session-limit ftp max-sessions |
缺省情況下,使用FTP方式同時登錄設備的在線的最大用戶連接數為32 配置本命令後,已經在線的用戶連接不會受到影響,隻對新的用戶連接生效。如果當前在線的用戶連接數已經達到最大值,則新的連接請求會被拒絕,登錄會失敗 關於該命令的詳細描述請參見“安全配置指導”中的“AAA” |
隻有認證通過並授權成功的用戶,才能通過FTP訪問設備上的指定路徑。
設備對FTP客戶端的認證,有以下兩種方式:
· 本地認證:設備作為認證服務器,在本設備上驗證FTP客戶端的用戶名和密碼是否合法。
· 遠程認證:遠程認證是指設備將用戶輸入的用戶名/密碼發送給遠端的認證服務器,由認證服務器來驗證用戶名/密碼是否匹配。
設備對FTP客戶端的授權,有以下兩種方式:
· 本地授權:設備給FTP客戶端授權,指定FTP客戶端可以使用設備上的某個路徑。
· 遠程授權:遠程服務器給FTP客戶端授權,指定FTP客戶端可以使用設備上的某個路徑。
關於認證和授權的詳細配置請參見“安全配置指導”中的“AAA”。
表1-2 釋放已建立的FTP連接
操作 |
命令 |
說明 |
強製釋放與指定用戶之間的FTP連接 |
free ftp user username |
二者必選其一 該命令在用戶視圖下執行 |
強製釋放與指定IP地址的主機之間的FTP連接 |
free ftp user-ip [ ipv6 ] client-address [ port port-num ] |
完成上述配置後,在任意視圖下執行display命令可以顯示FTP服務器的配置和運行情況,通過查看顯示信息驗證配置的效果。
表1-3 FTP服務器顯示和維護
操作 |
命令 |
查看當前FTP服務器的配置和運行情況 |
display ftp-server |
查看當前FTP登錄用戶的詳細情況 |
display ftp-user |
· 主設備和從設備共同組成IRF。主設備的成員編號為1,從設備的成員編號為2。
· IRF作為FTP服務器,PC作為FTP客戶端。
· 將存儲在PC上的文件temp.bin上傳到FTP服務器,並使用FTP功能備份IRF的配置文件。
· FTP客戶端登錄FTP服務器的用戶名為abc,密碼為123456。
圖1-2 FTP服務器典型配置組網圖
如果主設備和從設備剩餘的內存空間不夠,請使用delete /unreserved file-url命令刪除部分暫時不用的文件後再執行以下操作。
配置前請確保Device和PC之間路由可達,IP地址如圖1-2所示,具體配置步驟略。
(1) IRF(FTP server)上的配置
# 在IRF上添加一個本地用戶abc,並設置其認證密碼為123456,訪問時使用的用戶角色為network-admin,授權訪問目錄為Flash的根目錄,abc可以使用的服務類型為FTP。
<Sysname> system-view
[Sysname] local-user abc class manage
[Sysname-luser-abc] password simple 123456
[Sysname-luser-abc] authorization-attribute user-role network-admin work-directory flash:/
如果要直接訪問從設備Flash的根目錄,需要將“authorization-attribute work-directory flash:/”配置中的“flash:/”替換成“slot2#flash:/”。
[Sysname-luser-abc] service-type ftp
[Sysname-luser-abc] quit
# 啟動IRF的FTP服務功能。
[Sysname] ftp server enable
[Sysname] quit
(2) PC(FTP client)的配置
# 以用戶名abc、密碼123456登錄FTP服務器。
c:\> ftp 1.1.1.1
Connected to 1.1.1.1.
220 FTP service ready.
User(1.1.1.1:(none)):abc
331 Password required for abc.
Password:
230 User logged in.
# 將傳輸模式設置為ascii,並將IRF的配置文件config.cfg下載到PC本地進行備份。
ftp> ascii
200 TYPE is now ASCII
ftp> get config.cfg back-config.cfg
# 將傳輸模式設置為binary,並上傳文件temp.bin到主設備存儲介質的根目錄下。
ftp> binary
200 TYPE is now 8-bit binary
ftp> put temp.bin
# 退出FTP。
ftp> bye
FTP客戶端要訪問FTP服務器,必須先與FTP服務器建立連接。連接的建立方式有兩種,一種是使用ftp命令直接建立連接;一種是在FTP客戶端視圖下使用open命令間接建立連接。
在使用ftp命令建立FTP連接時,還可以進行源地址綁定。源地址綁定可以通過指定源接口(建議使用LoopBack接口)或源IP地址來實現。
表1-4 建立FTP連接(IPv4組網環境)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)在IPv4組網環境下配置FTP客戶端發送的FTP報文的源地址 |
ftp client source { interface interface-type interface-number | ip source-ip-address } |
缺省情況下,未配置源地址,使用路由出接口的主IP地址作為設備發送FTP報文的源IP地址 |
退回用戶視圖 |
quit |
- |
在用戶視圖下直接登錄FTP服務器 |
ftp ftp-server [ service-port ] [ dscp dscp-value | source { interface interface-type interface-number | ip source-ip-address } ] * |
二者必選其一 ftp命令直接在用戶視圖下執行;open命令在FTP客戶端視圖下執行 |
在FTP客戶端視圖下間接登錄FTP服務器 |
ftp |
|
open server-address [ service-port ] |
使用ftp client source命令指定了源地址後,又在ftp命令中指定了源地址,則采用ftp命令中指定的源地址進行通信。
表1-5 建立FTP連接(IPv6組網環境)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)在IPv6組網環境下配置FTP客戶端發送的FTP報文的源地址 |
ftp client ipv6 source { interface interface-type interface-number | ipv6 source-ipv6-address } |
缺省情況下,未配置源地址,設備自動選擇IPv6 FTP報文的源IPv6地址,具體選擇原則請參見RFC 3484 |
退回用戶視圖 |
quit |
- |
在用戶視圖下直接登錄FTP服務器 |
ftp ipv6 ftp-server [ service-port ] [ dscp dscp-value | source { interface interface-type interface-number | ipv6 source-ipv6-address } ] * [ -i interface-type interface-number ] |
二者必選其一 ftp ipv6命令直接在用戶視圖下執行;open命令在FTP客戶端視圖下執行 |
在FTP客戶端視圖下間接登錄FTP服務器 |
ftp ipv6 |
|
open server-address [ service-port ] |
使用ftp client ipv6 source命令指定了源地址後,又在ftp ipv6命令中指定了源地址,則采用ftp ipv6命令中指定的源地址進行通信。
當設備作為FTP客戶端,與FTP服務器成功建立連接後,在FTP服務器的授權目錄下,用戶可以進行創建、刪除文件夾等操作。
表1-6 操作FTP服務器上的目錄
操作 |
命令 |
說明 |
查看FTP服務器上的目錄/文件的詳細信息 |
dir [ remotefile [ localfile ] ] |
二者選其一 |
ls [ remotefile [ localfile ] ] |
||
切換FTP服務器上的工作路徑 |
cd { directory | .. | / } |
- |
退出FTP服務器的當前目錄,返回FTP服務器的上一級目錄 |
cdup |
- |
顯示當前用戶正在訪問的FTP服務器上的路徑 |
pwd |
- |
在FTP服務器上創建目錄 |
mkdir directory |
- |
刪除FTP服務器上指定的目錄 |
rmdir directory |
- |
當設備作為FTP客戶端,與FTP服務器成功建立連接後,在FTP服務器的授權目錄下,用戶可以通過以下操作,向FTP服務器上傳或從FTP服務器下載文件,推薦使用以下步驟:
(1) 使用dir或者ls命令了解FTP服務器上的目錄結構以及文件所處的位置。
(2) 刪除過時文件,以便有效利用存儲空間。
(3) 設置傳輸模式。FTP傳輸文件有兩種模式:一種是ASCII碼模式,用於傳輸文本文件;另一種是二進製模式,用於傳輸非文本文件。
(4) 使用lcd命令顯示或切換FTP客戶端本地的工作路徑。無論使用相對路徑還是絕對路徑進行上傳/下載操作,上傳的將是該路徑下的文件,文件下載後也將保存到該路徑下。
(5) 進行上傳/下載操作。
表1-7 操作FTP服務器上的文件
操作 |
命令 |
說明 |
查看FTP服務器上的目錄/文件的詳細信息 |
dir [ remotefile [ localfile ] ] |
二者選其一 |
ls [ remotefile [ localfile ] ] |
||
徹底刪除FTP服務器上的指定文件 |
delete remotefile |
- |
設置FTP文件傳輸的模式為ASCII模式 |
ascii |
二者選其一 缺省情況下,文件傳輸模式為二進製模式 |
設置FTP文件傳輸的模式為二進製模式 |
binary |
|
切換數據的傳輸方式 |
passive |
缺省情況下,數據傳輸的方式為被動方式 |
顯示或切換FTP客戶端本地的工作路徑 |
lcd [ directory | / ] |
- |
上傳本地文件到FTP服務器 |
put localfile [ remotefile ] |
- |
下載FTP服務器上的文件 |
get remotefile [ localfile ] |
- |
在原文件的內容後麵添加新文件的內容 |
append localfile [ remotefile ] |
- |
指定重傳點 |
restart marker |
配合put、get、append等命令使用 |
更新本地文件 |
newer remotefile |
- |
從本地文件的尾部開始獲取文件的剩餘內容 |
reget remotefile [ localfile ] |
- |
重命名文件 |
rename [ oldfilename [ newfilename ] ] |
- |
當設備作為FTP客戶端,與FTP服務器連接建立成功後,可以更改登錄用戶。
該功能通常用於不同權限用戶之間的切換,用戶的成功切換不會影響當前的FTP連接(即FTP控製連接、數據連接以及連接狀態都不變);如果輸入的用戶名/密碼錯誤,則會斷開當前連接,用戶必須重新登錄才能繼續訪問FTP服務器。
表1-8 更改登錄用戶
操作 |
命令 |
說明 |
在現有FTP連接上重新發起FTP認證 |
user username [ password ] |
- |
當設備作為FTP客戶端,與FTP服務器連接建立成功後,通過以下命令,可以幫助用戶定位和診斷FTP連接過程中出現的問題。
表1-9 FTP連接的維護與調試
操作 |
命令 |
說明 |
顯示FTP服務器支持的FTP相關協議命令字 |
rhelp |
- |
顯示FTP服務器支持的FTP相關協議命令字的幫助信息 |
rhelp protocol-command |
- |
顯示FTP服務器的狀態 |
rstatus |
- |
顯示FTP服務器上指定目錄或文件的詳細信息 |
rstatus remotefile |
- |
顯示當前FTP連接的狀態 |
status |
- |
顯示FTP服務器的係統信息 |
system |
- |
切換FTP功能的協議信息開關 |
verbose |
缺省情況下,FTP協議信息開關處於開啟狀態 |
打開FTP調試信息開關 |
debug |
缺省情況下,FTP客戶端調試信息開關處於關閉狀態 |
清除緩存的命令應答 |
reset |
- |
當設備作為FTP客戶端,與FTP服務器連接建立成功後,可以使用以下任意一條命令來斷開FTP連接。
表1-10 斷開FTP連接
操作 |
命令 |
說明 |
不退出FTP客戶端視圖的前提下,斷開與FTP服務器的連接 |
disconnect |
二者選其一 在FTP客戶端視圖下執行 |
close |
||
斷開與FTP服務器的連接,並退回到用戶視圖 |
bye |
二者選其一 在FTP客戶端視圖下執行 |
quit |
當設備作為FTP客戶端,與FTP服務器連接建立成功後,可以使用以下任意一條命令顯示命令或命令的幫助信息。
表1-11 顯示幫助信息
操作 |
命令 |
說明 |
顯示命令或命令的幫助信息 |
help [ command-name ] |
二者選其一 |
? [ command-name ] |
在完成上述配置後,可在任意視圖下執行display命令,通過查看顯示信息驗證配置的效果。
表1-12 FTP客戶端顯示和維護
操作 |
命令 |
顯示設備作為FTP客戶端時的源地址配置 |
display ftp client source |
· 主設備和從設備兩台成員設備組成IRF。主設備的成員編號為1,從設備的成員編號為2。
· IRF作為FTP客戶端,PC作為FTP服務器。
· IRF從PC上下載新的文件temp.bin,並將配置文件上傳到PC進行備份。
· PC上已設置設備登錄FTP服務器的用戶名為abc,密碼為123456。
圖1-3 FTP客戶端典型配置組網圖
如果主設備和從設備剩餘的內存空間不夠,請使用delete /unreserved file-url命令刪除部分暫時不用的文件後再執行以下操作。
配置前請確保IRF和PC之間路由可達,IP地址如圖1-3所示,具體配置步驟略。
# 以用戶名abc、密碼123456登錄FTP服務器。
<Sysname> ftp 10.1.1.1
Press CTRL+C to abort.
Connected to 10.1.1.1 (10.1.1.1).
220 WFTPD 2.0 service (by Texas Imperial Software) ready for new user
User (10.1.1.1:(none)): abc
331 Give me your password, please
Password:
230 Logged in successfully
Remote system type is MSDOS.
ftp>
# 將傳輸模式設置為binary,以便傳輸文件。
ftp> binary
200 TYPE is now 8-bit binary
# 將文件temp.bin從FTP服務器下載到IRF。
· 將文件temp.bin從FTP服務器下載到主設備存儲介質的根目錄下。
ftp> get temp.bin
local: temp.bin remote: temp.bin
150 Connecting to port 47457
226 File successfully transferred
23951480 bytes received in 95.399 seconds (251.0 kbyte/s)
· 將文件temp.bin從FTP服務器下載到從設備存儲介質的根目錄下。
ftp> get temp.bin slot2#flash:/temp.bin
# 將IRF的配置文件config.cfg上傳到FTP服務器進行備份。
ftp> ascii
200 TYPE is now ASCII
ftp> put config.cfg back-config.cfg
local: config.cfg remote: back-config.cfg
150 Connecting to port 47461
226 File successfully transferred
3494 bytes sent in 5.646 seconds (618.00 kbyte/s)
ftp> bye
221-Goodbye. You uploaded 2 and downloaded 2 kbytes.
221 Logout.
<Sysname>
設備運行於FIPS模式時,不支持本特性。有關FIPS模式的詳細介紹請參見“安全配置指導“中的“FIPS”。
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)用於在TFTP服務器和TFTP客戶端之間傳輸文件。它基於UDP協議,使用UDP端口建立連接、收/發數據報文。與基於TCP的FTP協議比較,TFTP不需要認證,沒有複雜的報文交互,部署簡單,適用於客戶端和服務器均很可靠的網絡環境。
目前,設備隻能作為TFTP客戶端,不支持作為TFTP服務器。
圖2-1 TFTP組網示意圖
當設備作為TFTP客戶端時,可以把設備的文件上傳到TFTP服務器,還可以從TFTP服務器下載文件到設備。如果下載時設備上已經存在一個和目標文件名同名的文件,則係統會先將設備上已有的文件刪除,再保存遠端文件。如果下載失敗(如網絡斷開等原因),則原文件已被刪除,無法恢複。因此,當下載啟動文件或配置文件等重要文件時,建議使用一個當前目錄下不存在的文件名作為目標文件名。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使用ACL限製設備可訪問哪些TFTP服務器 |
tftp-server acl acl-number |
可選 缺省情況下,未使用ACL對設備可訪問的TFTP服務器進行限製 |
配置TFTP客戶端的源地址 |
tftp client source { interface interface-type interface-number | ip source-ip-address } |
缺省情況下,未配置源地址,使用路由出接口的主IP地址作為設備發送TFTP報文的源IP地址 |
退回用戶視圖 |
quit |
- |
在IPv4網絡,用TFTP上傳/下載文件 |
tftp tftp-server { get | put | sget } source-filename [ destination-filename ] [ dscp dscp-value | source { interface interface-type interface-number | ip source-ip-address } ] * |
使用tftp client source命令指定了源地址後,又在tftp命令中指定了源地址,則采用tftp命令中指定的源地址進行通信 該命令在用戶視圖下執行 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
(可選)在IPv6網絡,使用ACL限製設備可訪問哪些TFTP服務器 |
tftp-server ipv6 acl ipv6-acl-number |
缺省情況下,未使用ACL對設備可訪問的TFTP服務器進行限製 |
在IPv6網絡,配置TFTP客戶端的源地址 |
tftp client ipv6 source { interface interface-type interface-number | ipv6 source-ipv6-address } |
缺省情況下,未配置源地址,設備自動選擇IPv6 TFTP報文的源IPv6地址,具體選擇原則請參見RFC 3484 |
退回用戶視圖 |
quit |
- |
在IPv6網絡,用TFTP上傳/下載文件 |
tftp ipv6 tftp-server [ -i interface-type interface-number ] { get | put | sget } source-filename [ destination-filename ] [ dscp dscp-value | source { interface interface-type interface-number | ipv6 source-ipv6-address } ] * |
使用tftp client ipv6 source命令指定了源地址後,又在tftp ipv6命令中指定了源地址,則采用tftp ipv6命令中指定的源地址進行通信 該命令在用戶視圖下執行 |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!