04-FTP和TFTP配置
本章節下載: 04-FTP和TFTP配置 (406.37 KB)
FTP(File Transfer Protocol,文件傳輸協議)用於在FTP服務器和FTP客戶端之間傳輸文件,是IP網絡上傳輸文件的通用協議。
FTP協議使用TCP端口20和21進行傳輸。端口20用於傳輸數據,端口21用於傳輸控製消息。
設備既可以作為FTP服務器,也可以作為FTP客戶端。
FTP有兩種文件傳輸模式:
· 二進製模式,用於傳輸非文本文件(比如後綴名為.app、.bin和.btm的文件);
· ASCII碼模式,用於傳輸文本格式的文件(比如後綴名為.txt、.bat和.cfg的文件)。
當設備作為FTP客戶端時,用戶可通過命令行指定使用的傳輸模式,缺省為二進製模式;當設備作為FTP服務器時,使用的傳輸模式由FTP客戶端決定。
FTP有兩種工作方式:
· 主動方式(PORT):建立數據連接時由FTP服務器發起連接請求,當FTP客戶端處於防火牆後時不適用(如FTP客戶端處於私網內)。
· 被動方式(PASV):建立數據連接時由FTP客戶端發起連接請求,當FTP服務器限製客戶端連接其高位端口(一般情況下大於1024)時不適用。
是否使用被動方式由FTP客戶端程序決定,不同FTP客戶端軟件對FTP工作方式的支持情況可能不同,請在使用時以軟件的實際情況為準。
設備運行於FIPS模式時,不支持FTP功能。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
FTP服務器配置任務如下:
(1) 啟動FTP服務器功能
(2) 配置FTP服務器的認證和授權
(3) (可選)配置FTP服務器訪問限製
(4) (可選)配置FTP服務器連接管理參數
(5) (可選)配置FTP服務器引用SSL
(6) (可選)配置FTP服務器發送報文的DSCP優先級
(7) (可選)配置指定統計時間內FTP用戶登錄失敗的告警上報和取消閾值
(8) (可選)釋放已建立的FTP連接
FTP使用明文方式傳輸數據,可能存在安全隱患。
(1) 進入係統視圖。
system-view
(2) 啟動FTP服務器功能。
ftp server enable
缺省情況下,FTP服務器功能處於關閉狀態。
隻有認證通過並授權成功的用戶,才能通過FTP訪問設備上的指定路徑。
設備對FTP客戶端的認證,有以下兩種方式:
· 本地認證:設備作為認證服務器,在本設備上驗證FTP客戶端的用戶名和密碼是否合法。
· 遠程認證:遠程認證是指設備將用戶輸入的用戶名/密碼發送給遠端的認證服務器,由認證服務器來驗證用戶名/密碼是否匹配。
設備對FTP客戶端的授權,有以下兩種方式:
· 本地授權:設備給FTP客戶端授權,指定FTP客戶端可以使用設備上的某個路徑。
· 遠程授權:遠程服務器給FTP客戶端授權,指定FTP客戶端可以使用設備上的某個路徑。
關於認證和授權的詳細配置請參見“安全配置指導”中的“AAA”。
通過將FTP服務與ACL關聯,可以過濾掉來自某些FTP客戶端的FTP請求報文,隻允許符合ACL過濾規則的FTP客戶端訪問設備。
配置ACL限製FTP客戶端時:
· 當未引用ACL時,允許所有FTP客戶端訪問設備;
· 當引用的ACL不存在或者為空時,禁止所有FTP客戶端訪問設備;
· 當引用的ACL非空時,則隻有ACL中permit的用戶才能訪問設備,禁止其他用戶訪問設備,以避免非法用戶訪問設備;
· 如果多次使用該命令配置FTP服務與ACL關聯,最新配置生效。
· 在引用的ACL中,若某規則指定了vpn-instance參數,則表示該規則僅對VPN報文有效;若規則未指定vpn-instance參數,則表示該規則僅對公網報文有效。
關於ACL的詳細描述和介紹請參見“ACL和QoS配置指導”中的“ACL”。
該配置隻過濾新建立的FTP連接,不會對已建立的FTP連接和操作造成影響。
(1) 進入係統視圖。
system-view
(2) 配置FTP服務器訪問限製。
ftp server acl { advanced-acl-number | basic-acl-number | ipv6 { advanced-acl-number | basic-acl-number } }
缺省情況下,FTP服務器的訪問不受ACL限製。
(3) 開啟匹配ACL deny規則後打印日誌信息功能。
ftp server acl-deny-log enable
缺省情況下,匹配ACL deny規則後打印日誌信息功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 配置FTP服務器的連接空閑時間。
ftp timeout minutes
缺省情況下,連接空閑時間為30分鍾。
如果在設置的連接空閑時間到期時,FTP服務器和客戶端一直沒有信息交互,則斷開它們之間的連接。
(3) 配置使用FTP方式同時登錄設備的在線的最大用戶連接數。
aaa session-limit ftp max-sessions
缺省的最大用戶連接數為32。
配置本命令後,已經在線的用戶連接不會受到影響,隻對新的用戶連接生效。如果當前在線的用戶連接數已經達到最大值,則新的連接請求會被拒絕,登錄會失敗。
關於該命令的詳細描述請參見“安全 命令參考”中的“AAA”。
當支持FTP安全擴展協議的兩台設備建立FTP連接時,通過將FTP服務與SSL服務器端策略關聯,可以建立一條安全的SSL連接來傳輸數據,保證FTP傳輸的安全性。
(1) 進入係統視圖。
system-view
(2) 配置FTP服務器引用SSL。
ftp server ssl-server-policy policy-name
缺省情況下,FTP服務器未引用SSL服務器端策略。
(1) 進入係統視圖。
system-view
(2) 配置FTP服務器發送的FTP報文的DSCP優先級。
(IPv4網絡)
ftp server dscp dscp-value
(IPv6網絡)
ftp server ipv6 dscp dscp-value
缺省情況下,FTP服務器發送的FTP報文的DSCP優先級為0。
(1) 進入係統視圖。
system-view
(2) 配置指定統計時間內FTP用戶登錄失敗的告警上報和取消閾值。
ftp server login-failed threshold-alarm upper-limit report-times lower-limit resume-times period period-time
缺省情況下,統計時間為5分鍾,FTP用戶登錄失敗的告警上報和取消閾值分別為30和20。
配置本命令後,在指定的統計時間內,當FTP用戶登錄失敗的次數大於等於告警上限閾值,或者從超過上限回落到小於下限閾值時,將產生對應的告警信息,以便管理及時了解FTP用戶登錄的實時情況。
請在用戶視圖下執行本命令,釋放已建立的FTP連接。請選擇其中一項進行配置。
· 強製釋放與指定用戶之間的FTP連接。
free ftp user username
· 強製釋放與指定IP地址的主機之間的FTP連接。
free ftp user-ip [ ipv6 ] ip-address [ port port ]
完成上述配置後,在任意視圖下執行display命令可以顯示FTP服務器的配置和運行情況,通過查看顯示信息驗證配置的效果。
表1-1 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,密碼為hello12345。
圖1-1 FTP服務器典型配置組網圖
如果主設備和從設備剩餘的內存空間不夠,請使用delete /unreserved file-url命令刪除部分暫時不用的文件後再執行以下操作。
配置前請確保Device和PC之間路由可達,IP地址如圖1-1所示,具體配置步驟略。
(1) IRF(FTP server)上的配置
# 在IRF上添加一個本地用戶abc,並設置其認證密碼為hello12345,訪問時使用的用戶角色為network-admin,授權訪問目錄為Flash的根目錄,abc可以使用的服務類型為FTP。
<Sysname> system-view
[Sysname] local-user abc class manage
[Sysname-luser-manage-abc] password simple hello12345
[Sysname-luser-manage-abc] authorization-attribute user-role network-admin work-directory flash:/
如果要直接訪問從設備Flash的根目錄,需要將“authorization-attribute work-directory flash:/”配置中的“flash:/”替換成“slot2#flash:/”。
[Sysname-luser-manage-abc] service-type ftp
[Sysname-luser-manage-abc] quit
# 啟動IRF的FTP服務功能。
[Sysname] ftp server enable
[Sysname] quit
(2) PC(FTP client)的配置
# 以用戶名abc、密碼hello12345登錄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客戶端配置任務如下:
(1) 建立FTP連接
(2) (可選)顯示幫助信息
(3) (可選)查看FTP服務器上的目錄/文件
(4) (可選)操作FTP服務器上的目錄
(5) (可選)操作FTP服務器上的文件
(6) (可選)更改登錄用戶
(7) (可選)FTP連接的維護與調試
(8) (可選)斷開FTP連接
建立FTP連接配置任務如下:
(1) (可選)配置FTP客戶端發送的FTP報文的源地址
(2) 登錄FTP服務器
(3) 配置FTP文件傳輸方式
· 使用ftp client source命令指定了源地址後,又在ftp命令中指定了源地址,則采用ftp命令中指定的源地址進行通信。
· 使用ftp client ipv6 source命令指定了源地址後,又在ftp ipv6命令中指定了源地址,則采用ftp ipv6命令中指定的源地址進行通信。
(1) 進入係統視圖。
system-view
(2) 配置FTP客戶端發送的FTP報文的源地址。
(IPv4網絡)
ftp client source { interface interface-type interface-number | ip source-ip-address }
缺省情況下,未配置源地址,使用路由出接口的主IP地址作為設備發送FTP報文的源IP地址。
(IPv6網絡)
ftp client ipv6 source { interface interface-type interface-number | ipv6 source-ipv6-address }
缺省情況下,未配置源地址,設備自動選擇IPv6 FTP報文的源IPv6地址,具體選擇原則請參見RFC 3484。
· 從用戶視圖登錄FTP服務器。
(IPv4網絡)
ftp [ ftp-server [ service-port ] [ vpn-instance vpn-instance-name ] [ dscp dscp-value | source { interface interface-type interface-number | ip source-ip-address } | -d ] * ]
(IPv6網絡)
ftp ipv6 [ ftp-server [ service-port ] [ vpn-instance vpn-instance-name ] [ dscp dscp-value | source { interface interface-type interface-number | ipv6 source-ipv6-address } | -d ] * [ -i interface-type interface-number ] ]
· 從FTP客戶端視圖登錄FTP服務器。
a. 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp [ ipv6 ]
b. 登錄FTP服務器。
open server-address [ service-port ]
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 設置FTP文件傳輸的模式。
¡ 配置FTP文件傳輸的模式為ASCII模式。
ascii
¡ 配置FTP文件傳輸的模式為二進製模式。
binary
缺省情況下,文件傳輸模式為二進製模式。
(3) 切換數據的傳輸方式。
passive
缺省情況下,數據傳輸的方式為被動方式。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 顯示命令或命令的幫助信息。
¡ 方式一
help [ command-name ]
¡ 方式二
? [ command-name ]
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 查看FTP服務器上的目錄/文件。
¡ 方式一
dir [ remotefile [ localfile ] ]
¡ 方式二
ls [ remotefile [ localfile ] ]
使用dir或者ls命令查看FTP服務器上的目錄/文件的詳細信息。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 操作FTP服務器上的目錄
¡ 顯示當前用戶正在訪問的FTP服務器上的路徑。
pwd
¡ 切換FTP服務器上的工作路徑。
cd { directory | .. | / }
¡ 退出FTP服務器的當前目錄,返回FTP服務器的上一級目錄。
cdup
¡ 在FTP服務器上創建目錄。
mkdir directory
¡ 刪除FTP服務器上指定的目錄。
rmdir directory
執行本命令前,請確認指定目錄不會再被使用,以免誤刪有用目錄。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 顯示或切換FTP客戶端本地的工作路徑。
lcd [ directory | / ]
上傳的文件為該路徑下的文件時,缺省情況下文件下載後也將保存到該路徑。
使用dir或者ls命令了解FTP服務器上的目錄結構以及文件所處的位置。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 操作FTP服務器上的文件
¡ 刪除FTP服務器上的文件。
delete remotefile
執行本命令前,請確認指定文件不會再被使用,以免誤刪有用文件。
用戶必須具有刪除的權限才能執行該操作。
¡ 重命名文件。
rename [ oldfilename [ newfilename ] ]
¡ 上傳本地文件到FTP服務器。
put localfile [ remotefile ]
¡ 下載FTP服務器上的文件。
get remotefile [ localfile ]
¡ 在原文件的內容後麵添加新文件的內容。
append localfile [ remotefile ]
¡ 指定重傳點。
restart marker
配合put、get、append等命令使用。
¡ 更新本地文件。
newer remotefile
¡ 從本地文件的尾部開始獲取文件的剩餘內容。
reget remotefile [ localfile ]
當設備作為FTP客戶端,與FTP服務器連接建立成功後,可以通過該功能實現不同權限用戶之間的切換。用戶成功切換後,不會影響當前的FTP連接(即FTP控製連接、數據連接以及連接狀態都不變)。
如果在用戶切換時,輸入的用戶名/密碼錯誤,則會斷開當前連接,用戶必須重新登錄才能繼續訪問FTP服務器。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 在現有FTP連接上重新發起FTP認證。
user username [ password ]
當設備作為FTP客戶端,與FTP服務器連接建立成功後,通過以下命令,可以幫助用戶定位和診斷FTP連接出現的問題。
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 維護與調試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
(1) 請在用戶視圖下執行本命令,進入FTP客戶端視圖。
ftp
(2) 斷開與FTP服務器的連接。請選擇其中一項進行配置。
¡ 斷開與FTP服務器的連接,並留在FTP客戶端視圖。請選擇其中一項進行配置。
disconnect
close
¡ 斷開與FTP服務器的連接,並退回到用戶視圖。請選擇其中一項進行配置。
bye
quit
在完成上述配置後,可在任意視圖下執行display命令,通過查看顯示信息驗證配置的效果。
表1-2 FTP客戶端顯示和維護
操作 |
命令 |
顯示設備作為FTP客戶端時的源地址配置 |
display ftp client source |
· 主設備和從設備兩台成員設備組成IRF。主設備的成員編號為1,從設備的成員編號為2。
· IRF作為FTP客戶端,PC作為FTP服務器。
· IRF從PC上下載新的文件temp.bin,並將配置文件上傳到PC進行備份。
· PC上已設置設備登錄FTP服務器的用戶名為abc,密碼為hello12345。
圖1-2 FTP客戶端典型配置組網圖
如果主設備和從設備剩餘的內存空間不夠,請使用delete /unreserved file-url命令刪除部分暫時不用的文件後再執行以下操作。
配置前請確保IRF和PC之間路由可達,IP地址如圖1-2所示,具體配置步驟略。
# 以用戶名abc、密碼hello12345登錄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>
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)用於在TFTP服務器和TFTP客戶端之間傳輸文件。它基於UDP協議,使用UDP端口建立連接、收/發數據報文。與基於TCP的FTP協議比較,TFTP不需要認證,沒有複雜的報文交互,部署簡單,適用於客戶端和服務器均很可靠的網絡環境。
設備運行於FIPS模式時,不支持TFTP功能。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
TFTP客戶端可以上傳文件到TFTP服務器,也可以從TFTP服務器下載文件到本地。上傳文件時,如果TFTP服務器上已經存在同名文件,則係統會刪除同名文件,保存新文件。同樣,下載文件時,如果TFTP客戶端上已經存在同名文件,係統也會刪除同名文件,保存新文件。因此,當上傳/下載啟動文件或配置文件等重要文件時,建議使用一個不存在的文件名作為目標文件名。
(1) 進入係統視圖。
system-view
(2) (可選)使用ACL限製設備可訪問哪些TFTP服務器。
tftp-server acl acl-number
缺省情況下,未使用ACL對設備可訪問的TFTP服務器進行限製。
(3) 配置TFTP客戶端的源地址。
tftp client source { interface interface-type interface-number | ip source-ip-address }
缺省情況下,未配置源地址,使用路由出接口的主IP地址作為設備發送TFTP報文的源IP地址。
(4) 退回用戶視圖。
quit
(5) 在IPv4網絡,用TFTP上傳/下載文件。
tftp tftp-server { get | put | sget } source-filename [ destination-filename ] [ vpn-instance vpn-instance-name ] [ dscp dscp-value | source { interface interface-type interface-number | ip source-ip-address } ] *
使用tftp client source命令指定了源地址後,又在tftp命令中指定了源地址,則采用tftp命令中指定的源地址進行通信。
(1) 進入係統視圖。
system-view
(2) (可選)在IPv6網絡,使用ACL限製設備可訪問哪些TFTP服務器。
tftp-server ipv6 acl ipv6-acl-number
缺省情況下,未使用ACL對設備可訪問的TFTP服務器進行限製。
(3) 在IPv6網絡,配置TFTP客戶端的源地址。
tftp client ipv6 source { interface interface-type interface-number | ipv6 source-ipv6-address }
缺省情況下,未配置源地址,設備自動選擇IPv6 TFTP報文的源IPv6地址,具體選擇原則請參見RFC 3484。
(4) 退回用戶視圖。
quit
(5) 在IPv6網絡,用TFTP上傳/下載文件。
tftp ipv6 tftp-server [ -i interface-type interface-number ] { get | put | sget } source-filename [ destination-filename ] [ vpn-instance vpn-instance-name ] [ dscp dscp-value | source { interface interface-type interface-number | ipv6 source-ipv6-address } ] *
使用tftp client ipv6 source命令指定了源地址後,又在tftp ipv6命令中指定了源地址,則采用tftp ipv6命令中指定的源地址進行通信。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!