1.1 FTP简介
FTP(File Transfer Protocol,文件传输协议)用于在FTP服务器和FTP客户端之间传输文件,是IP网络上传输文件的通用协议。
FTP协议使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。
FTP有两种文件传输模式:
· 二进制模式,用于传输非文本文件(比如后缀名为.app、.bin和.btm的文件);
· ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)。
当设备作为FTP客户端时,用户可通过命令行指定使用的传输模式,缺省为二进制模式。
FTP有两种工作方式:
· 主动方式(PORT):建立数据连接时由FTP服务器发起连接请求,当FTP客户端处于防火墙后时不适用(如FTP客户端处于私网内)。
· 被动方式(PASV):建立数据连接时由FTP客户端发起连接请求,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。
是否使用被动方式由FTP客户端程序决定,不同FTP客户端软件对FTP工作方式的支持情况可能不同,请在使用时以软件的实际情况为准。
1.2 配置FTP客户端
FTP客户端配置任务如下:
(2) (可选)显示帮助信息
(4) (可选)操作FTP服务器上的目录
(5) (可选)操作FTP服务器上的文件
(6) (可选)更改登录用户
(7) (可选)FTP连接的维护与调试
(8) (可选)断开FTP连接
1.2.2 建立FTP连接
1. 建立FTP连接配置任务简介
建立FTP连接配置任务如下:
2. 配置限制和指导
· 使用ftp client source命令指定了源地址后,又在ftp命令中指定了源地址,则采用ftp命令中指定的源地址进行通信。
· 使用ftp client ipv6 source命令指定了源地址后,又在ftp ipv6命令中指定了源地址,则采用ftp ipv6命令中指定的源地址进行通信。
3. 配置FTP客户端发送的FTP报文的源地址
(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] [dscp dscp-value|source{ interfaceinterface-type interface-number|ip source-ip-address} ] ] *
(IPv6网络)
ftp ipv6 [ ftp-server[service-port] [ dscp dscp-value|source { ipv6 source-ipv6-address| interfaceinterface-type interface-number} ] * [ -iinterface-type interface-number] ]
· 从FTP客户端视图登录FTP服务器。
a.请在用户视图下执行本命令,进入FTP客户端视图。
ftp[ipv6]
b.登录FTP服务器。
open server-address [ service-port ]
5. 配置FTP文件传输方式
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 设置FTP文件传输的模式。
¡ 配置FTP文件传输的模式为ASCII模式。
ascii
¡ 配置FTP文件传输的模式为二进制模式。
binary
缺省情况下,文件传输模式为二进制模式。
(3) 切换数据的传输方式。
passive
缺省情况下,数据传输的方式为被动方式。
1.2.3 显示帮助信息
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 显示命令或命令的帮助信息。
¡方式一
help [ command-name ]
¡方式二
? [ command-name ]
1.2.4 查看FTP服务器上的目录/文件
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 查看FTP服务器上的目录/文件。
¡方式一
dir [ remotefile [ localfile ] ]
¡方式二
ls [ remotefile [ localfile ] ]
1.2.5 操作FTP服务器上的目录
1. 配置准备
使用dir或者ls命令查看FTP服务器上的目录/文件的详细信息。
2. 配置步骤
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 操作FTP服务器上的目录
¡ 显示当前用户正在访问的FTP服务器上的路径。
pwd
¡ 切换FTP服务器上的工作路径。
cd { directory | .. | / }
¡ 退出FTP服务器的当前目录,返回FTP服务器的上一级目录。
cdup
¡ 在FTP服务器上创建目录。
mkdir directory
¡ 删除FTP服务器上指定的目录。
rmdir directory
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 显示或切换FTP客户端本地的工作路径。
lcd[ directory |/]
上传的文件为该路径下的文件时,缺省情况下文件下载后也将保存到该路径。
1.2.7 操作FTP服务器上的文件
1. 配置准备
使用dir或者ls命令了解FTP服务器上的目录结构以及文件所处的位置。
2. 配置步骤
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录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 ]
1.2.8 更改登录用户
1. 功能简介
当设备作为FTP客户端,与FTP服务器连接建立成功后,可以通过该功能实现不同权限用户之间的切换。用户成功切换后,不会影响当前的FTP连接(即FTP控制连接、数据连接以及连接状态都不变)。
2. 配置限制和指导
如果在用户切换时,输入的用户名/密码错误,则会断开当前连接,用户必须重新登录才能继续访问FTP服务器。
3. 配置步骤
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 在现有FTP连接上重新发起FTP认证。
user username [ password ]
1.2.9 FTP连接的维护与调试
1. 功能简介
当设备作为FTP客户端,与FTP服务器连接建立成功后,通过以下命令,可以帮助用户定位和诊断FTP连接出现的问题。
2. 配置步骤
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录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.2.10 断开FTP连接
(1) 请登录FTP服务器,并进入FTP客户端视图。有关登录FTP服务器的详细介绍请参见“1.2.2 4.登录FTP服务器”。
(2) 断开与FTP服务器的连接。请选择其中一项进行配置。
¡ 断开与FTP服务器的连接,并留在FTP客户端视图。请选择其中一项进行配置。
disconnect
close
¡ 断开与FTP服务器的连接,并退回到用户视图。请选择其中一项进行配置。
bye
quit
1.2.11 FTP客户端显示和维护
在完成上述配置后,可在任意视图下执行display命令,通过查看显示信息验证配置的效果。
表1-1 FTP客户端显示和维护
操作
命令
显示设备作为FTP客户端时的源地址配置
display ftp client source
1. 组网需求
· AP作为FTP客户端从FTP服务器上下载文件temp.bin,并将启动配置文件上传到FTP服务器进行备份。
· 已设置AP登录FTP服务器的用户名为abc,密码为hello12345。
2. 组网图
图1-1 FTP客户端典型配置组网图
3. 配置步骤
如果设备剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
# 配置AP和FTP服务器的IP地址,并配置路由协议,确保AP和FTP服务器之间路由可达。(具体配置步骤略)
# 以用户名abc、密码hello12345登录FTP服务器。
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服务器下载到AP。
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)
# 将AP的配置文件startup.cfg上传到FTP服务器进行备份。
ftp> ascii
200 TYPE is now ASCII
ftp> put startup.cfg back-startup.cfg
local: startup.cfg remote: back-startup.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.