03-FTP和TFTP配置
本章节下载: 03-FTP和TFTP配置 (381.34 KB)
FTP(File Transfer Protocol,文件传输协议)用于在远端服务器和本地主机之间传输文件,是IP网络上传输文件的通用协议。在万维网(WWW,World Wide Web)出现以前,用户使用命令行方式传输文件,最通用的应用程序就是FTP。虽然目前大多数用户在通常情况下选择使用Email和Web传输文件,但是FTP仍然有着比较广泛的应用。
FTP协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。FTP协议基本操作在RFC959中进行了描述。
FTP有两种文件传输模式:
· 二进制模式,用于传输程序文件(比如后缀名为.app、.bin和.btm的文件);
· ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)。
FTP有两种工作方式:
· 主动方式(PORT),数据连接由FTP服务器发起,当FTP客户端处于防火墙后时不适用;
· 被动方式(PASV),数据连接由FTP客户端程序发起,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。
是否使用被动方式由FTP客户端程序决定,不同FTP客户端软件对FTP工作方式的支持情况可能不同,请在使用时以软件的实际情况为准。
设备在支持FTP协议上有两种方式:
· 设备作为FTP客户端:如图1-1所示,设备(Device)作为FTP客户端,PC作为FTP服务器。在Device上执行ftp命令,与PC建立FTP连接,完成文件的上传/下载操作。
· 设备作为FTP服务器:如图1-1所示,设备(Device)作为FTP服务器,PC作为FTP客户端。在PC上运行FTP客户端程序,与Device建立FTP连接,完成文件的上传/下载操作。
图1-1 FTP配置示意图
设备作为FTP客户端时,需要进行如下配置:
表1-1 设备作为FTP客户端时的配置
设备 |
操作 |
说明 |
Device(作为FTP客户端) |
可以直接使用ftp命令登录远端的FTP服务器 |
如果远端FTP服务器支持匿名访问,设备可以直接登录;如果远端FTP服务器不支持匿名访问,则必须先获取FTP用户名和密码后,才能成功登录远端的FTP服务器 |
PC(作为FTP服务器) |
启动FTP服务器,并做了用户名、密码、用户的权限等相关的配置 |
- |
设备作为FTP服务器时,需要进行如下配置:
表1-2 设备作为FTP服务器时的配置
设备 |
操作 |
说明 |
Device(作为FTP服务器) |
启动FTP服务器功能 |
缺省情况下,系统关闭FTP服务器功能 可以通过display ftp-server命令查看设备上FTP服务器功能的配置信息 |
配置FTP服务器的验证和授权 |
配置FTP用户的用户名、密码、授权的工作目录。出于安全考虑,设备不支持匿名登录,用户必须使用合法的用户名和密码。缺省情况下,合法用户可访问的目录为设备的根目录 |
|
配置FTP服务器的运行参数 |
配置FTP连接的超时时间等参数 |
|
PC(作为FTP客户端) |
使用FTP客户端程序登录设备 |
用户必须获取FTP用户名和密码后,才能成功登录远端的FTP服务器 |
· 在建立FTP连接前请确保FTP服务器与FTP客户端之间路由可达,否则,连接建立失败。
· 当设备作为FTP服务器,使用Internet Explorer浏览器登录设备时,因为Internet Explorer浏览器在登录过程中建立了多个用户连接,而目前设备某一时刻只支持一个用户连接,所以使用Internet Explorer浏览器登录设备时FTP的部分功能不支持。
只有级别为3(管理级)的用户才能使用ftp命令登录FTP服务器,进入FTP客户端视图,执行目录、文件等命令,但命令能否执行成功,还将受FTP服务器端的授权限制。
FTP客户端要访问FTP服务器,必须先与FTP服务器建立连接。连接的建立方式有两种,一种是使用ftp命令直接建立连接,一种是在FTP客户端视图下使用open命令间接建立连接。
在使用ftp命令建立FTP连接时,还可以进行源地址绑定。源地址可以通过配置源接口(建议使用Loopback接口)或源IP地址来实现,源接口下配置的主IP地址或源IP地址即为发送报文的源地址。
FTP客户端在与FTP服务器通信的时候,发送报文的源地址选取遵循以下规则:
· 如果没有指定FTP客户端的源地址,则采用路由决定的源地址进行通信。
· 如果只用ftp client source或ftp命令指定了源地址,则采用该地址进行通信。
· 如果执行ftp client source命令指定了源地址后,又在ftp命令中指定了源地址,则采用ftp命令中指定的源地址进行通信。
· ftp client source命令指定的源地址对所有的FTP连接有效,ftp命令指定的源地址只对当前的FTP连接有效。
表1-3 建立FTP连接(IPv4组网环境)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置FTP客户端的源地址 |
ftp client source { interface interface-type interface-number | ip source-ip-address } |
可选 缺省情况下,设备使用路由决定的源地址与FTP服务器通信 |
退回用户视图 |
quit |
- |
在用户视图下直接登录远程FTP服务器 |
ftp [ server-address [ service-port ] [ vpn-instance vpn-instance-name ] [ source { interface interface-type interface-number | ip source-ip-address } ] ] |
二者必选其一 ftp命令直接在用户视图下执行;open命令在FTP客户端视图下执行 |
在FTP客户端视图下间接登录远程FTP服务器 |
ftp |
|
open server-address [ service-port ] |
· 如果源接口下没有配置主地址,将导致FTP连接建立失败。
· 如果先后使用ftp client source命令配置了客户端FTP报文的源接口和源IP,则新配置的源IP将覆盖现有的源接口配置。反之亦然。
表1-4 建立FTP连接(IPv6组网环境)
操作 |
命令 |
说明 |
在用户视图下直接登录远程FTP服务器 |
ftp ipv6 [ server-address [ service-port ] [ vpn-instance vpn-instance-name ] [ source ipv6 source-ipv6-address ] [ -i interface-type interface-number ] ] |
二者必选其一 ftp ipv6命令直接在用户视图下执行;open ipv6命令在FTP客户端视图下执行 |
在FTP客户端视图下间接登录远程FTP服务器 |
ftp ipv6 |
|
open ipv6 server-address [ service-port ] [ -i interface-type interface-number ] |
在IPv4和IPv6报文头中,包含一个8bit的字段,用于标识IP报文的服务类型。在IPv4报文中,这个字段称为ToS字段;在IPv6报文中,称为Traffic class字段。RFC 2474对这8个bit进行了定义,将前6个bit定义为DSCP优先级,最后2个bit作为保留位。在报文传输的过程中,DSCP优先级可以被网络设备识别,并作为报文传输优先程度的参考。
用户可以对设备充当FTP客户端发送报文的DSCP优先级进行配置。
表1-5 配置设备充当FTP客户端发送报文的DSCP优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置FTP客户端发送的IPv4报文的DSCP优先级 |
ftp client dscp dscp-value |
可选 缺省情况下,FTP客户端发送的IPv4报文的DSCP优先级为0 |
配置FTP客户端发送的IPv6报文的DSCP优先级 |
ftp client ipv6 dscp dscp-value |
可选 缺省情况下,FTP客户端发送的IPv6报文的DSCP优先级为0 |
配置FTP客户端发送报文的DSCP优先级仅Release 6703及以后的版本支持。
当设备作为FTP客户端,与FTP服务器连接建立成功后(连接操作请参见1.2.1 建立FTP连接),在FTP服务器的授权目录下,用户可以进行创建、删除文件夹等操作。
表1-6 操作FTP服务器上的目录
操作 |
命令 |
说明 |
查看远程FTP服务器上的目录/文件的详细信息 |
dir [ remotefile [ localfile ] ] |
可选 |
查询远程FTP服务器上的目录/文件 |
ls [ remotefile [ localfile ] ] |
可选 |
切换远程FTP服务器上的工作路径 |
cd { directory | .. | / } |
可选 |
退出远程FTP服务器的当前目录,返回FTP服务器的上一级目录 |
cdup |
可选 |
显示当前用户正在访问的远程FTP服务器上的路径 |
pwd |
可选 |
在远程FTP服务器上创建目录 |
mkdir directory |
可选 |
删除FTP服务器上指定的目录 |
rmdir directory |
可选 |
当设备作为FTP客户端,与FTP服务器连接建立成功后(连接操作请参见1.2.1 建立FTP连接),在FTP服务器的授权目录下,用户可以通过以下操作,给FTP服务器上传或从FTP服务器下载文件,推荐使用以下步骤:
(1) 使用dir或者ls命令了解FTP服务器上的目录结构以及文件所处的位置。
(2) 删除过时文件,以便有效利用存储空间。
(3) 设置传输模式。FTP传输文件有两种模式:一种是ASCII码模式,用于传输文本文件;另一种是二进制模式,用于传输程序文件。
(4) 使用lcd命令了解用户登录FTP服务器前在FTP客户端上的工作路径。无论使用相对路径还是绝对路径进行上传/下载操作,上传的将是该路径下的文件,文件下载后也将保存到该路径下。
(5) 上传/下载操作。
表1-7 操作FTP服务器上的文件
操作 |
命令 |
说明 |
查看远程FTP服务器上的目录/文件的详细信息 |
dir [ remotefile [ localfile ] ] |
可选 ls命令只能显示出目录/文件的名称,而dir命令可以查看与目录/文件相关的信息,如大小,创建日期等 |
查询远程FTP服务器上的目录/文件 |
ls [ remotefile [ localfile ] ] |
可选 ls命令只能显示出目录/文件的名称,而dir命令可以查看与目录/文件相关的信息,如大小,创建日期等 |
彻底删除远程FTP服务器上的指定文件 |
delete remotefile |
可选 |
设置FTP文件传输的模式为ASCII模式 |
ascii |
可选 缺省情况下,文件传输模式为ASCII模式 |
设置FTP文件传输的模式为二进制模式 |
binary |
可选 缺省情况下,文件传输模式为ASCII模式 |
设置数据传输的方式为被动方式 |
passive |
可选 缺省情况下,数据传输的方式为被动方式 |
获取FTP客户端本地的工作路径 |
lcd |
可选 |
上传本地文件到远程FTP服务器 |
put localfile [ remotefile ] |
可选 |
下载FTP服务器上的文件 |
get remotefile [ localfile ] |
可选 |
当设备作为FTP客户端,与FTP服务器连接建立成功后(连接操作请参见1.2.1 建立FTP连接),可以更改登录用户。
该功能通常用于不同权限用户之间的切换,用户的成功切换不会影响当前的FTP连接(即FTP控制连接、数据连接以及连接状态都不变);如果输入的用户名/密码错误,则会断开当前连接,用户必须重新登录才能继续访问设备。
表1-8 更改登录用户
操作 |
命令 |
说明 |
成功登录FTP服务器后,使用其他用户身份重新登录 |
user username [ password ] |
可选 |
当设备作为FTP客户端,与FTP服务器连接建立成功后(连接操作请参见1.2.1 建立FTP连接),通过以下命令,可以帮助定位和诊断FTP连接过程中出现的问题。
表1-9 FTP客户端维护与调试
操作 |
命令 |
说明 |
显示远程FTP服务器支持的FTP相关协议命令的帮助信息 |
remotehelp [ protocol-command ] |
可选 |
使能显示FTP服务器返回的详细信息 |
verbose |
可选 缺省情况下,verbose开关为开启状态 |
当设备作为FTP客户端时,打开FTP调试信息开关 |
debugging |
可选 缺省情况下,FTP客户端调试信息开关处于关闭状态 |
当设备作为FTP客户端,与FTP服务器连接建立成功后(连接操作请参见1.2.1 建立FTP连接),可以使用以下任意一条命令来断开FTP连接。
表1-10 断开FTP连接
操作 |
命令 |
说明 |
不退出FTP客户端视图的前提下,断开与FTP服务器的连接 |
disconnect |
可选 等效于close命令 |
不退出FTP客户端视图的前提下,断开与FTP服务器的连接 |
close |
可选 等效于disconnect命令 |
断开与远程FTP服务器的连接,并退回到用户视图 |
bye |
可选 在FTP客户端视图下执行,等效于quit命令 |
断开与远程FTP服务器的连接,并退回到用户视图 |
quit |
可选 在FTP客户端视图下执行,等效于bye命令 |
· Device作为FTP客户端,PC作为FTP服务器。IP地址如组网图所示,Device和PC之间路由可达。
· Device从PC上下载新的启动文件完成设备的升级,并将配置文件上传到PC进行备份。
· PC上已设置设备登录FTP服务器的用户名为abc,密码为abc。设备以用户名abc、密码abc登录FTP服务器。
图1-2 利用FTP客户端功能实现平滑升级
如果设备剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
# 以FTP方式登录服务器。
<Sysname> ftp 10.1.1.1
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 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
# 将传输模式设置为binary,以便传输启动文件。
[ftp] binary
200 Type set to I.
# 将启动文件newest.app从PC下载到设备。
· 将启动文件newest.app从PC下载到主用主控板存储介质的根目录下。
[ftp] get newest.app
227 Entering Passive Mode (10,1,1,1,10,68).
125 BINARY mode data connection already open, transfer starting for /newest.app.
226 Transfer complete.
FTP: 23951480 byte(s) received in 95.399 second(s), 251.00K byte(s)/sec.
· 将启动文件newest.app从PC下载到备用主控板(所在槽位号为1)存储介质的根目录下。
[ftp] get newest.app slot1#flash:/newest.app
# 将本机的配置文件config.cfg上传到服务器进行备份。
[ftp] ascii
[ftp] put config.cfg back-config.cfg
227 Entering Passive Mode (10,1,1,1,4,2).
125 ASCII mode data connection already open, transfer starting for /config.cfg.
226 Transfer complete.
FTP: 3494 byte(s) sent in 5.646 second(s), 618.00 byte(s)/sec.
[ftp] bye
221 Server closing.
# 将newest.app指定为设备的主用下次启动文件。
· 将newest.app指定为主用主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 0!
· 将newest.app指定为备用主控板(所在槽位号为1)的主用下次启动文件。
<Sysname> boot-loader file slot1#flash:/newest.app slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 1!
# 重启设备,完成设备软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。
· Device是一个IRF系统,由Master和Slave两台成员设备组成。Master的成员编号为1,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1;Slave的成员编号为2,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1。
· Device作为FTP客户端,PC作为FTP服务器。IP地址如组网图所示,Device和PC之间路由可达。
· Device从PC上下载新的启动文件完成设备的升级,并将配置文件上传到PC进行备份。
· PC上已设置设备登录FTP服务器的用户名为abc,密码为abc。设备以用户名abc、密码abc登录FTP服务器。
图1-3 利用FTP客户端功能实现平滑升级
如果设备剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
# 以FTP方式登录服务器。
<Sysname> ftp 10.1.1.1
Trying 10.1.1.1 ...
Press CTRL+K to abort
Connected to 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
# 将传输模式设置为binary,以便传输启动文件。
[ftp] binary
200 Type set to I.
# 将启动文件newest.app从PC下载到设备。
· 将启动文件newest.app从PC下载到全局主用主控板存储介质的根目录下。
[ftp] get newest.app
· 将启动文件newest.app从PC下载到全局备用主控板存储介质的根目录下(其中一块全局备用主控板所在设备的成员编号为1,槽位号为1;一块全局备用主控板所在设备的成员编号为2,槽位号为0;第三块全局备用主控板所在设备的成员编号为2,槽位号为1)。
[ftp] get newest.app chassis1#slot1#flash:/newest.app
227 Entering Passive Mode (10,1,1,1,10,68).
125 BINARY mode data connection already open, transfer starting for chassis1#slot1#flash:/newest.app.
226 Transfer complete.
FTP: 23951480 byte(s) received in 95.399 second(s), 251.00K byte(s)/sec.
[ftp] get newest.app chassis2#slot0#flash:/newest.app
227 Entering Passive Mode (10,1,1,1,12,43).
125 BINARY mode data connection already open, transfer starting for chassis2#slot0#flash:/newest.app.
226 Transfer complete.
FTP: 23951480 byte(s) received in 95.399 second(s), 251.00K byte(s)/sec.
[ftp] get newest.app chassis2#slot1#flash:/newest.app
227 Entering Passive Mode (10,1,1,1,5,49).
125 BINARY mode data connection already open, transfer starting for chassis2#slot1#flash:/newest.app.
226 Transfer complete.
FTP: 23951480 byte(s) received in 95.399 second(s), 251.00K byte(s)/sec.
# 将本机的配置文件config.cfg上传到服务器进行备份。
[ftp] ascii
[ftp] put config.cfg back-config.cfg
227 Entering Passive Mode (10,1,1,1,4,2).
125 ASCII mode data connection already open, transfer starting for /config.cfg.
226 Transfer complete.
FTP: 3494 byte(s) sent in 5.646 second(s), 618.00 byte(s)/sec.
[ftp] bye
221 Server closing.
# 将newest.app指定为IRF中全局主用主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app chassis 1 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 0!
# 将newest.app指定为IRF中全局备用主控板的主用下次启动文件。
<Sysname> boot-loader file chassis1#slot1#flash:/newest.app chassis 1 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 1!
<Sysname> boot-loader file chassis2#slot0#flash:/newest.app chassis 2 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 0!
<Sysname> boot-loader file chassis2#slot1#flash:/newest.app chassis 2 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 1!
# 重启设备,完成设备软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。
当设备作为FTP服务器时,可以进行如下配置。
用户登录到FTP服务器,使用put命令上传文件的过程中,FTP服务器中文件的更新有两种方式,快速更新方式与普通更新方式。
· 快速更新方式,即FTP服务器先将上传文件接收到内存中,全部接收完后,再将文件内容写入存储设备。采用这种方式,即使文件传送过程发生断电等异常情况,也不会损坏FTP服务器上的现有文件。
· 普通更新方式,即FTP服务器一边接收用户的文件,一边将其写入存储设备。采用这种方式,可能会因为断电等异常情况致使FTP服务器上的现有文件被损坏。与快速更新方式相比,普通更新方式需要的空闲内存较少。
表1-11 配置FTP服务器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动FTP服务器功能 |
ftp server enable |
必选 缺省情况下,FTP服务器功能处于关闭状态 |
配置FTP服务器发送的IPv4报文的DSCP优先级 |
ftp server dscp dscp-value |
可选 缺省情况下, FTP服务器发送的IPv4报文的DSCP优先级为0 |
使用ACL(Access Control List,访问控制列表)限制哪些FTP客户端可以访问设备 |
ftp server acl acl-number |
可选 缺省情况下,没有使用ACL限制FTP客户端 |
配置FTP服务器的连接空闲时间 |
ftp timeout minutes |
可选 缺省情况下,连接空闲时间为30分钟 如果在设置的连接空闲时间到期时,FTP服务器和客户端一直没有信息交互,则断开它们之间的连接 |
设置在上传过程中,FTP服务器更新文件的方式 |
ftp update { fast | normal } |
可选 缺省情况下,在给FTP服务器上传文件的过程中,FTP服务器采用normal方式更新文件 |
退回到用户视图 |
quit |
- |
强制释放通过指定用户名建立的FTP连接 |
free ftp user username |
可选 |
配置FTP服务器发送IPv4报文的DSCP优先级仅Release 6703及以后的版本支持。
FTP服务器的授权信息包含提供给FTP用户的工作目录的路径。只有验证通过和授权成功的用户,才能得到FTP服务器的服务。
以下配置为FTP服务器在本地对FTP客户端身份进行验证的时候的步骤,如果要对FTP客户端进行远程认证,则不需要配置本地用户,但需要配置AAA(Authentication, Authorization and Accounting,认证、授权和计费)认证方案,详细配置请参见“安全配置指导”中的“AAA”。(本地认证是指在设备上验证用户输入的用户名/密码是否与设备上配置的用户名/密码匹配;远程认证是指设备将用户输入的用户名/密码发送给远端的认证服务器,由服务器来验证用户名/密码是否匹配)
表1-12 配置FTP服务器的验证和授权
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入本地用户视图 |
local-user user-name |
必选 如果指定的本地用户不存在,则先完成本地用户的创建,再进入该用户的视图 缺省情况下,系统中没有任何授权FTP服务的本地用户,系统不支持FTP匿名用户访问 |
设置当前本地用户的密码 |
password { simple | cipher } password |
必选 |
设置用户可以使用的服务类型为FTP |
service-type ftp |
必选 缺省情况下,系统不支持FTP匿名用户访问,不对用户授权任何服务;若授权FTP服务,缺省授权使用设备的根目录 |
配置用户的属性 |
authorization-attribute { acl acl-number | callback-number callback-number | idle-cut minute | level level | user-profile profile-name | user-role { guest | guest-manager | security-audit } | vlan vlan-id | work-directory directory-name } * |
可选 缺省情况下,FTP用户可以访问设备的根目录,用户的级别为0。可以使用该命令进行修改 |
· local-user、password、service-type ftp和authorization-attribute命令的详细介绍,请参见“安全命令参考”中的“AAA”。
· 设备作为FTP服务器时,对客户端的访问操作有级别限制:如果要对设备的文件系统执行写操作(比如上传、删除、创建/删除文件夹),则必须将FTP登录用户的级别设置为3;如果执行其它操作(比如普通的查看操作),则FTP登录用户的级别不受限制,可以为0~3中的任意级别。
· 设备作为FTP服务器,PC作为FTP客户端。IP地址如组网图所示,Device和PC之间路由可达。
· 设备最新版本的启动文件存储在PC上,请使用FTP功能实现设备的升级以及设备配置文件的备份。
· 客户端登录FTP服务器的用户名为abc,密码为abc。
图1-4 利用FTP服务器功能实现升级
(1) 配置Device(FTP Server)
# 在设备上添加一个本地用户abc,并设置其认证密码为abc,用户级别为3管理级,授权访问目录为Flash的根目录,abc可以使用的服务类型为FTP。
<Sysname> system-view
[Sysname] local-user abc
[Sysname-luser-abc] password simple abc
[Sysname-luser-abc] authorization-attribute level 3
[Sysname-luser-abc] authorization-attribute work-directory flash:/
如果要直接访问备用主控板(所在槽位号为1)Flash的根目录,需要将“authorization-attribute work-directory flash:/”配置中的“flash:/”替换成“slot1#flash:/”。
[Sysname-luser-abc] service-type ftp
[Sysname-luser-abc] quit
# 启动设备的FTP服务。
[Sysname] ftp server enable
[Sysname] quit
# 删除设备中的多余文件,以保证剩余足够的空间,用于存储新的启动文件。
<Sysname> dir
Directory of flash:/
0 drw- - Jan 07 2012 10:00:57 filename
1 drw- - Jan 02 2012 14:27:51 logfile
2 -rw- 1216 Jan 02 2012 14:28:59 config.cfg
3 -rw- 1216 Jan 02 2012 16:27:26 back.cfg
64389 KB total (2511 KB free)
<Sysname> delete /unreserved flash:/back.cfg
(2) 配置PC(FTP Client)
# 以FTP方式登录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.
# 将设备的配置文件config.cfg下载到PC本地进行备份。
ftp> get config.cfg back-config.cfg
# 上传启动文件newest.app到主用主控板存储介质的根目录下。
ftp> put newest.app
200 Port command okay.
150 Opening ASCII mode data connection for /newest.app.
226 Transfer complete.
ftp> bye
221 Server closing.
c:\>
· 利用FTP功能升级配置文件时,操作步骤与上述介绍基本相同,需要注意的是获取后的配置文件同样要放在存储介质的根目录下。
· 利用FTP远程升级Bootrom程序,文件传送完成后需要再执行bootrom update命令来升级Bootrom。
(3) 升级Device
# 将启动文件newest.app拷贝到备用主控板(所在槽位号为1)存储介质的根目录下。
<Sysname> copy newest.app slot1#flash:/
# 将newest.app指定为设备的主用下次启动文件。
· 将newest.app指定为主用主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 0!
· 将newest.app指定为备用主控板(所在槽位号为1)的主用下次启动文件。
<Sysname> boot-loader file slot1#flash:/newest.app slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 1!
# 重启设备,完成设备软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。
· Master和Slave两台成员设备组成IRF。Master的成员编号为1,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1;Slave的成员编号为2,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1。
· IRF作为FTP服务器,PC作为FTP客户端。IP地址如组网图所示,IRF和PC之间路由可达。
· IRF最新版本的启动文件存储在PC上,请使用FTP功能实现IRF的升级以及IRF配置文件的备份。
· 客户端登录FTP服务器的用户名为abc,密码为abc。
图1-5 利用FTP服务器功能实现升级
如果Master和Slave剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
(1) IRF(FTP Server)上的配置
# 在IRF上添加一个本地用户abc,并设置其认证密码为abc,用户级别为3管理级,授权访问目录为全局主用主控板Flash的根目录,abc可以使用的服务类型为FTP。
<Sysname> system-view
[Sysname] local-user abc
[Sysname-luser-abc] password simple abc
[Sysname-luser-abc] authorization-attribute level 3
[Sysname-luser-abc] authorization-attribute work-directory flash:/
如果要直接访问全局备用主控板(假设该单板所在设备的成员编号为2,槽位号为1)Flash的根目录,需要将“authorization-attribute work-directory flash:/”配置中的“flash:/”替换成“chassis2#slot1#flash:/”。
[Sysname-luser-abc] service-type ftp
[Sysname-luser-abc] quit
# 启动IRF的FTP服务。
[Sysname] ftp server enable
[Sysname] quit
(2) PC(FTP Client)的配置
# 以FTP方式登录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.
# 将IRF的配置文件config.cfg下载到PC本地进行备份。
ftp> get config.cfg back-config.cfg
# 上传启动文件newest.app到全局主用主控板存储介质的根目录下。
ftp> put newest.app
200 Port command okay.
150 Opening ASCII mode data connection for /newest.app.
226 Transfer complete.
ftp> bye
221 Server closing.
c:\>
· 利用FTP功能升级配置文件时,操作步骤与上述介绍基本相同,需要注意的是获取后的配置文件同样要放在存储介质的根目录下。
· 利用FTP远程升级Bootrom程序,文件传送完成后需要再执行bootrom update命令来升级Bootrom。
(3) 升级IRF
# 将启动文件newest.app拷贝到全局备用主控板存储介质的根目录下(其中一块全局备用主控板所在设备的成员编号为1,槽位号为1;一块全局备用主控板所在设备的成员编号为2,槽位号为0;第三块全局备用主控板所在设备的成员编号为2,槽位号为1)。
<Sysname> copy newest.app chassis1#slot1#flash:/
<Sysname> copy newest.app chassis2#slot0#flash:/
<Sysname> copy newest.app chassis2#slot1#flash:/
# 将newest.app指定为IRF中所有主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app chassis 1 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 0!
<Sysname> boot-loader file chassis1#slot1#flash:/newest.app chassis 1 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 1!
<Sysname> boot-loader file chassis2#slot0#flash:/newest.app chassis 2 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 0!
<Sysname> boot-loader file chassis2#slot1#flash:/newest.app chassis 2 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 1!
# 重启设备,完成IRF软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后FTP的运行情况,通过查看显示信息验证配置的效果。
表1-13 FTP显示和维护
操作 |
命令 |
查看FTP客户端的当前配置 |
display ftp client configuration [ | { begin | exclude | include } regular-expression ] |
查看FTP服务器的配置情况 |
display ftp-server [ | { begin | exclude | include } regular-expression ] |
查看FTP登录用户的详细情况 |
display ftp-user [ | { begin | exclude | include } regular-expression ] |
TFTP(Trivial File Transfer Protocol,简单文件传输协议)也是用于在远端服务器和本地主机之间传输文件的,相对于FTP,TFTP没有复杂的交互存取接口和认证控制,适用于客户端和服务器之间不需要复杂交互的环境。TFTP协议的运行基于UDP协议,使用UDP端口建立连接、收/发数据报文。TFTP协议基本操作在RFC1350中进行了描述。
TFTP协议传输是由客户端发起的:
· 当TFTP客户端需要从服务器下载文件时,由客户端向TFTP服务器发送读请求包,然后从服务器接收数据,并向服务器发送确认;
· 当TFTP客户端需要向服务器上传文件时,由客户端向TFTP服务器发送写请求包,然后向服务器发送数据,并接收服务器的确认。
TFTP传输文件有两种模式:
· 二进制模式,用于传输程序文件(比如后缀名为.app、.bin和.btm的文件)。
· ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)。
目前,设备只能作为TFTP客户端,不支持作为TFTP服务器。
图2-1 TFTP配置示意图
使用TFTP之前,网络管理员需要配置好TFTP客户端和服务器的IP地址,并且确保客户端和服务器之间的路由可达。
设备作为TFTP客户端时,需要进行如下配置:
表2-1 设备作为TFTP客户端时的配置
设备 |
操作 |
Device(作为TFTP客户端) |
· 进行IP地址和路由功能配置,确保设备和TFTP服务器之间路由可达 · 直接使用TFTP命令登录远端的TFTP服务器上传或者下载文件 |
PC(作为TFTP服务器) |
启动TFTP服务器,并配置TFTP工作目录 |
当设备作为TFTP客户端时,可以把本设备的文件上传到TFTP服务器,还可以从TFTP服务器下载文件到本地设备。下载又分为两种:
· 普通下载。在这种方式下,设备将获取的远端文件直接写到存储设备中。如果下载时将远端文件保存在设备上使用的文件名是destination-filename,而设备已经存在同名文件,则在下载时,系统会先将设备上已有的destination-filename文件删除,再保存远端文件。如果下载失败(如网络断开等原因),则原文件已被删除,无法恢复。
· 安全下载。在这种方式下,设备将获取的远端文件先保存到内存中,等用户文件全部接收完毕,才将它写到存储设备中。如果下载时将远端文件保存在设备上使用的文件名是destination-filename,设备已经存在同名文件,此时,即便下载失败(如网络断开等原因),因为原文件没有被覆盖,仍能使用。这种方法安全系数较高,但需要较大的内存空间。
当操作启动文件或配置文件等重要文件时,建议采用安全下载或者非覆盖性下载(即下载时使用一个当前目录下不存在的文件名作为目标文件名)。
在使用tftp命令建立TFTP连接时,还可以进行源地址绑定。源地址可以通过配置源接口(建议使用Loopback接口)或源IP地址来实现,源接口下配置的主IP地址或源IP地址即为发送报文的源地址。
TFTP客户端在与TFTP服务器通信的时候,发送报文的源地址选取遵循以下规则:
· 如果没有指定TFTP客户端的源地址,则采用路由决定的源地址进行通信。
· 如果只用tftp client source或tftp命令指定了源地址,则采用该地址进行通信。
· 如果执行tftp client source命令指定了源地址后,又在tftp命令中指定了源地址,则采用tftp命令中指定的源地址进行通信。
· tftp client source命令指定的源地址对所有的tftp传输有效,tftp命令指定的源地址只对当前的tftp传输有效。
表2-2 配置TFTP客户端
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使用ACL限制设备可访问哪些TFTP服务器 |
tftp-server [ ipv6 ] acl acl-number |
可选 缺省情况下,没有使用ACL限制TFTP服务器 |
配置TFTP客户端的源地址 |
tftp client source { interface interface-type interface-number | ip source-ip-address } |
可选 缺省情况下,设备使用路由决定的源地址与TFTP服务器通信 |
配置TFTP客户端发送的IPv4报文的DSCP优先级 |
tftp client dscp dscp-value |
可选 缺省情况下,TFTP客户端发送的IPv4报文的DSCP优先级为0 |
配置TFTP客户端发送的IPv6报文的DSCP优先级 |
tftp client ipv6 dscp dscp-value |
可选 缺省情况下,TFTP客户端发送的IPv6报文的DSCP优先级为0 |
退回用户视图 |
quit |
- |
在IPv4网络,用TFTP下载/上传/安全下载文件 |
tftp server-address { get | put | sget } source-filename [ destination-filename ] [ vpn-instance vpn-instance-name ] [ source { interface interface-type interface-number | ip source-ip-address } ] |
可选 该命令在用户视图下执行 |
在IPv6网络,用TFTP下载/上传文件 |
tftp ipv6 tftp-ipv6-server [ -i interface-type interface-number ] { get | put } source-filename [ destination-filename ] [ vpn-instance vpn-instance-name ] |
可选 该命令在用户视图下执行 |
· 如果源接口下没有配置主地址,将导致TFTP传输失败。
· 如果先后配置了客户端TFTP报文的源接口和源IP,则新配置的源IP将覆盖现有的源接口配置。反之亦然。
· 配置TFTP客户端发送报文的DSCP优先级仅Release 6703及以后的版本支持。
在完成上述配置后,在任意视图下执行display命令可以显示配置后TFTP客户端的情况,通过查看显示信息验证配置的效果。
表2-3 TFTP客户端显示和维护
display tftp client configuration [ | { begin | exclude | include } regular-expression ] |
· Device作为TFTP客户端,PC作为TFTP服务器。IP地址如组网图所示,Device和PC之间路由可达。
· Device通过TFTP协议从PC上下载最新启动文件完成设备升级,同时将配置文件config.cfg上传到PC实现备份。
图2-2 利用TFTP客户端功能实现平滑升级
(1) 配置PC(TFTP服务器)(具体配置步骤略)
· 在PC上启动TFTP服务器功能;
· 配置TFTP服务器的工作目录。
(2) 配置Device(TFTP客户端)
如果设备剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
# 将启动文件newest.app从PC下载到设备。
· 将启动文件newest.app从PC下载到主用主控板存储介质的根目录下。
<Sysname> tftp 1.2.1.1 get newest.app
· 将启动文件newest.app从PC下载到备用主控板(所在槽位号为1)存储介质的根目录下。
<Sysname> tftp 1.2.1.1 get newest.app slot1#flash:/newest.app
# 将设备的配置文件config.cfg上传到TFTP服务器。
<Sysname> tftp 1.2.1.1 put config.cfg configback.cfg
# 将newest.app指定为设备的主用下次启动文件。
· 将newest.app指定为主用主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 0!
· 将newest.app指定为备用主控板(所在槽位号为1)的主用下次启动文件。
<Sysname> boot-loader file slot1#flash:/newest.app slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on slot 1!
# 重启设备,完成设备软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细描述请参见“基础配置命令参考”中的“软件升级”。
· Master和Slave两台成员设备组成IRF。Master的成员编号为1,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1;Slave的成员编号为2,主用主控板所在的槽位号为0,备用主控板所在的槽位号为1。
· IRF作为TFTP客户端,PC作为TFTP服务器。IP地址如组网图所示,IRF和PC之间路由可达。
· IRF通过TFTP协议从PC上下载最新启动文件完成IRF升级,同时将配置文件config.cfg上传到PC实现备份。
图2-3 利用TFTP客户端功能实现平滑升级
(1) PC(TFTP服务器)的配置(具体配置步骤略)
· 在PC上启动TFTP服务器功能;
· 配置TFTP服务器的工作目录。
(2) IRF(TFTP客户端)上的配置
如果Master和Slave剩余的内存空间不够,请使用delete /unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。
# 将启动文件newest.app从PC下载到Master和Slave。
· 将启动文件newest.app从PC下载到全局主用主控板存储介质的根目录下。
<Sysname> tftp 1.2.1.1 get newest.app
· 将启动文件newest.app从PC下载到全局备用主控板存储介质的根目录下(其中一块全局备用主控板所在设备的成员编号为1,槽位号为1;另一块全局备用主控板所在设备的成员编号为2,槽位号为0;第三块全局备用主控板所在设备的成员编号为2,槽位号为1)。
<Sysname> tftp 1.2.1.1 get newest.app chassis1#slot1#flash:/newest.app
<Sysname> tftp 1.2.1.1 get newest.app chassis2#slot0#flash:/newest.app
<Sysname> tftp 1.2.1.1 get newest.app chassis2#slot1#flash:/newest.app
# 将IRF的配置文件config.cfg上传到TFTP服务器。
<Sysname> tftp 1.2.1.1 put config.cfg configback.cfg
# 将newest.app指定为IRF中所有主控板的主用下次启动文件。
<Sysname> boot-loader file newest.app chassis 1 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 0!
<Sysname> boot-loader file chassis1#slot1#flash:/newest.app chassis 1 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 1 slot 1!
<Sysname> boot-loader file chassis2#slot0#flash:/newest.app chassis 2 slot 0 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 0!
<Sysname> boot-loader file chassis2#slot1#flash:/newest.app chassis 2 slot 1 main
This command will set the boot file of the specified board. Continue? [Y/N]:y
The specified file will be used as the main boot file at the next reboot on chassis 2 slot 1!
# 重启IRF,完成IRF软件升级。
<Sysname> reboot
下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细描述请参见“基础配置命令参考”中的“软件升级”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!