3 配置ftp文件服务器,03-FTP和TFTP配置

1.1  FTP简介

FTP(File Transfer Protocol,文件传输协议)用于在远端服务器和本地主机之间传输文件,是IP网络上传输文件的通用协议。在万维网(WWW,World Wide Web)出现以前,用户使用命令行方式传输文件,最通用的应用程序就是FTP。虽然目前大多数用户在通常情况下选择使用Email和Web传输文件,但是FTP仍然有着比较广泛的应用。

FTP协议在TCP/IP协议族中属于应用层协议,用于在远端服务器和本地客户端之间传输文件,使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。FTP协议基本操作在RFC959中进行了描述。

FTP有两种文件传输模式:

·     二进制模式,用于传输程序文件(比如后缀名为.bin的文件);

·     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连接,完成文件的上传/下载操作。

4afe3a9b05e4bb10705476be5c68b092.png

设备作为FTP客户端时,需要进行如下配置:

设备

操作

说明

Device(作为FTP客户端)

可以直接使用ftp命令登录远端的FTP服务器

如果远端FTP服务器支持匿名访问,设备可以直接登录;如果远端FTP服务器不支持匿名访问,则必须先获取FTP用户名和密码后,才能成功登录远端的FTP服务器

PC(作为FTP服务器)

启动FTP服务器,并做了用户名、密码、用户的权限等相关的配置

-

设备作为FTP服务器时,需要进行如下配置:

设备

操作

说明

Device(作为FTP服务器)

启动FTP服务器功能

缺省情况下,系统关闭FTP服务器功能

可以通过display ftp-server命令查看设备上FTP服务器功能的配置信息

配置FTP服务器的验证和授权

配置FTP用户的用户名、密码、授权的工作目录。出于安全考虑,设备不支持匿名登录,用户必须使用合法的用户名和密码。缺省情况下,合法用户可访问的目录为设备的根目录

配置FTP服务器的运行参数

配置FTP连接的超时时间等参数

PC(作为FTP客户端)

使用FTP客户端程序登录设备

用户必须获取FTP用户名和密码后,才能成功登录远端的FTP服务器

4543661c4409ea065cc85b2f1b801a84.png

·     在建立FTP连接前请确保FTP服务器与FTP客户端之间路由可达,否则,连接建立失败。

·     当设备作为FTP服务器,使用Internet Explorer浏览器登录设备时,因为Internet Explorer浏览器在登录过程中建立了多个用户连接,而目前设备某一时刻只支持一个用户连接,所以使用Internet Explorer浏览器登录设备时FTP的部分功能不支持。

1623ff57090ab0abbed23c53dd6e0eba.png

只有级别为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 ] [ source {

interface interface-type interface-number | ip source-ip-address} ] ]

二者必选其一

ftp命令直接在用户视图下执行;open命令在FTP客户端视图下执行

在FTP客户端视图下间接登录远程FTP服务器

ftp

open server-address [ service-port ]

faf9166575833c4c95ca23ce652d2941.png

·     如果源接口下没有配置主地址,将导致FTP连接建立失败。

·     如果先后使用ftp client source命令配置了客户端FTP报文的源接口和源IP,则新配置的源IP将覆盖现有的源接口配置。反之亦然。

表1-4 建立FTP连接(IPv6组网环境)

操作

命令

说明

在用户视图下直接登录远程FTP服务器

ftp ipv6 [ server-address [ service-port ] [ source ipv6

source-ipv6-address ] [ -i interface-type interface-number

] ]

二者必选其一

ftp ipv6命令直接在用户视图下执行;open ipv6命令在FTP客户端视图下执行

在FTP客户端视图下间接登录远程FTP服务器

ftp ipv6

open ipv6server-address [ service-port ] [ -i interface-type interface-number ]

用户可以对FTP报文的DSCP优先级进行配置。

表1-5 配置FTP和TFTP报文的DSCP优先级

操作

命令

说明

进入系统视图

system-view

-

配置IPv4 FTP客户端发送报文的DSCP优先级

ftp client

dscp dscp-value

可选

缺省情况下,IPv4 FTP客户端发送报文的DSCP优先级为0

配置IPv6 FTP客户端发送报文的DSCP优先级

ftp client

ipv6 dscp dscp-value

可选

缺省情况下,IPv6 FTP客户端发送报文的DSCP优先级为0

当设备作为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客户端调试信息开关处于关闭状态

1.2.7  断开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命令

1. 组网需求

·     Device作为FTP客户端,PC作为FTP服务器。IP地址如组网图所示,Device和PC之间路由可达。

·     Device从PC上下载新的启动文件完成设备的升级,并将配置文件上传到PC进行备份。

·     PC上已设置设备登录FTP服务器的用户名为abc,密码为abc。设备以用户名abc、密码abc登录FTP服务器。

2. 组网图

图1-2 利用FTP客户端功能实现平滑升级

af07c9e1f786daf420e0f24345f2ad42.png

3. 配置步骤

69e379a3b7d8aacf6c8b6bcb85130b25.png

如果设备剩余的内存空间不够,请使用delete/unreserved file-url命令删除部分暂时不用的文件后再执行以下操作。

# 以FTP方式登录服务器。

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.bin从PC下载到设备。

[ftp] get newest.bin

227 Entering Passive Mode (10,1,1,1,10,68).

125 BINARY mode data connection already open, transfer starting for /newest.bin.

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.bin指定为设备的主用下次启动文件。

boot-loader file newest.bin slot 1 main

# 重启设备,完成设备软件升级。

reboot

ce1d242c9c076cd3e0989cd1f307b7bb.png

下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。

当设备作为FTP服务器时,可以进行如下配置。

用户登录到FTP服务器,使用put命令上传文件的过程中,FTP服务器中文件的更新有两种方式,快速更新方式与普通更新方式。

·     快速更新方式,即FTP服务器先将上传文件接收到内存中,全部接收完后,再将文件内容写入存储设备。采用这种方式,即使文件传送过程发生断电等异常情况,也不会损坏FTP服务器上的现有文件。

·     普通更新方式,即FTP服务器一边接收用户的文件,一边将其写入存储设备。采用这种方式,可能会因为断电等异常情况致使FTP服务器上的现有文件被损坏。与快速更新方式相比,普通更新方式需要的空闲内存较少。

操作

命令

说明

进入系统视图

system-view

-

启动FTP服务器功能

ftp server enable

必选

缺省情况下,FTP服务器功能处于关闭状态

配置IPv4 FTP服务器发送报文的DSCP优先级

ftp server dscpdscp-value

可选

缺省情况下,IPv4 FTP服务器发送报文的DSCP优先级为0

使用ACL(Access Control List,访问控制列表)限制哪些FTP客户端可以访问设备

ftp server acl acl-number

可选

缺省情况下,没有使用ACL限制FTP客户端

配置FTP服务器的连接空闲时间

ftp timeoutminutes

可选

缺省情况下,连接空闲时间为30分钟

如果在连接空闲时间内,FTP服务器和客户端没有消息交互,则断开它们之间的连接

设置在上传过程中,FTP服务器更新文件的方式

ftp update{ fast | normal }

可选

缺省情况下,在给FTP服务器上传文件的过程中,FTP服务器采用normal方式更新文件

退回到用户视图

quit

-

强制释放通过指定用户名建立的FTP连接

free ftp userusername

可选

FTP服务器的授权信息包含提供给FTP用户的工作目录的路径。只有验证通过和授权成功的用户,才能得到FTP服务器的服务。

以下配置为FTP服务器在本地对FTP客户端身份进行验证的时候的步骤,如果要对FTP客户端进行远程认证,则不需要配置本地用户,但需要配置AAA(Authentication, Authorization and Accounting,认证、授权和计费)认证方案,详细配置请参见“安全配置指导”中的“AAA”。(本地认证是指在设备上验证用户输入的用户名/密码是否与设备上配置的用户名/密码匹配;远程认证是指设备将用户输入的用户名/密码发送给远端的认证服务器,由服务器来验证用户名/密码是否匹配。)

操作

命令

说明

进入系统视图

system-view

-

进入本地用户视图

local-useruser-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。可以使用该命令进行修改

520814c7499e8059159e30f337852f2b.png

·     local-user、password、service-type ftp和authorization-attribute命令的详细介绍,请参见“安全命令参考”中的“AAA”。

·     设备作为FTP服务器时,对客户端的访问操作有级别限制:如果要对设备的文件系统执行写操作(比如上传、删除、创建/删除文件夹),则必须将FTP登录用户的级别设置为3;如果执行其他操作(比如普通的查看操作),则FTP登录用户的级别不受限制,可以为0~3中的任意级别。

1. 组网需求

·     设备作为FTP服务器,PC作为FTP客户端。IP地址如组网图所示,Device和PC之间路由可达。

·     设备最新版本的启动文件存储在PC上,请使用FTP功能实现设备的升级以及设备配置文件的备份。

·     客户端登录FTP服务器的用户名为abc,密码为abc。

2. 组网图

7fc1986060910c77ec0fccbfaf11938c.png

3. 配置步骤

(1)     配置Device(FTP Server)

# 在设备上添加一个本地用户abc,并设置其认证密码为abc,用户级别为3管理级,授权访问目录为Flash的根目录,abc可以使用的服务类型为FTP。

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:/

[Sysname-luser-abc] service-type ftp

[Sysname-luser-abc] quit

# 启动设备的FTP服务。

[Sysname] ftp server enable

[Sysname] quit

# 删除设备中的多余文件,以保证剩余足够的空间,用于存储新的启动文件。

dir

Directory of flash:/

0   drw-         -  Dec 07 2005 10:00:57   filename

1   drw-         -  Jan 02 2006 14:27:51   logfile

2   -rw-      1216  Jan 02 2006 14:28:59   config.cfg

3   -rw-      1216  Jan 02 2006 16:27:26   back.cfg

2540 KB total (2511 KB free)

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.bin到Device。

ftp> put newest.bin

200 Port command okay.

150 Opening ASCII mode data connection for /newest.bin.

226 Transfer complete.

ftp> bye

221 Server closing.

c:\>

b0b591131055300fad6a4c764af5c99c.png

·     利用FTP功能升级配置文件时,操作步骤与上述介绍基本相同,需要注意的是获取后的配置文件同样要放在存储介质的根目录下。

·     利用FTP远程升级Bootrom程序,文件传送完成后需要再执行bootrom update命令来升级Bootrom。

(3)     升级Device

# 将newest.bin指定为设备的主用下次启动文件。

boot-loader file newest.bin slot 1 main

# 重启设备,完成设备软件升级。

reboot

0f2db3fc391270c45dce427e16c9666e.png

下次启动文件必须存放在存储介质的根目录下。可使用文件的拷贝或移动操作来调整文件的路径为根目录。关于boot-loader命令的详细介绍请参见“基础配置命令参考”中的“软件升级”。

1.4  FTP显示和维护

在完成上述配置后,在任意视图下执行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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值