• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

01-基础配置指导

04-FTP和TFTP配置

本章节下载  (336.05 KB)

04-FTP和TFTP配置


1 FTP

1.1  FTP简介

FTP(File Transfer Protocol,文件传输协议)用于在FTP服务器和FTP客户端之间传输文件,是IP网络上传输文件的通用协议。

FTP协议使用TCP端口20和21进行传输。端口20用于传输数据,端口21用于传输控制消息。

设备既可以作为FTP服务器,也可以作为FTP客户端。

1.1.1  FTP文件传输模式

FTP有两种文件传输模式:

·     二进制模式,用于传输非文本文件(比如后缀名为.app、.bin和.btm的文件);

·     ASCII码模式,用于传输文本格式的文件(比如后缀名为.txt、.bat和.cfg的文件)。

当设备作为FTP客户端时,用户可通过命令行指定使用的传输模式,缺省为二进制模式;当设备作为FTP服务器时,使用的传输模式由FTP客户端决定。

1.1.2  FTP工作方式

FTP有两种工作方式:

·     主动方式(PORT):建立数据连接时由FTP服务器发起连接请求,当FTP客户端处于防火墙后时不适用(如FTP客户端处于私网内)。

·     被动方式(PASV):建立数据连接时由FTP客户端发起连接请求,当FTP服务器限制客户端连接其高位端口(一般情况下大于1024)时不适用。

是否使用被动方式由FTP客户端程序决定,不同FTP客户端软件对FTP工作方式的支持情况可能不同,请在使用时以软件的实际情况为准。

1.2  FIPS相关说明

设备运行于FIPS模式时,本特性部分配置相对于非FIPS模式有所变化,具体差异请见本文相关描述。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。

1.3  配置FTP服务器

1.3.1  FTP服务器配置任务简介

FTP服务器配置任务如下:

(1)     启动FTP服务器功能

(2)     配置FTP服务器的认证和授权

(3)     (可选)配置FTP服务器访问限制

(4)     (可选)配置FTP服务器连接管理参数

(5)     (可选)配置FTP服务器引用SSL

(6)     (可选)配置FTP服务器发送报文的DSCP优先级

(7)     (可选)释放已建立的FTP连接

1.3.2  启动FTP服务器功能

(1)     进入系统视图。

system-view

(2)     启动FTP服务器功能。

ftp server enable

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

1.3.3  配置FTP服务器的认证和授权

只有认证通过并授权成功的用户,才能通过FTP访问设备上的指定路径。

设备对FTP客户端的认证,有以下两种方式:

·     本地认证:设备作为认证服务器,在本设备上验证FTP客户端的用户名和密码是否合法。

·     远程认证:远程认证是指设备将用户输入的用户名/密码发送给远端的认证服务器,由认证服务器来验证用户名/密码是否匹配。

设备对FTP客户端的授权,有以下两种方式:

·     本地授权:设备给FTP客户端授权,指定FTP客户端可以使用设备上的某个路径。

·     远程授权:远程服务器给FTP客户端授权,指定FTP客户端可以使用设备上的某个路径。

关于认证和授权的详细配置请参见“安全配置指导”中的“AAA”。

1.3.4  配置FTP服务器访问限制

1. 功能简介

通过将FTP服务与ACL关联,可以过滤掉来自某些FTP客户端的FTP请求报文,只允许符合ACL过滤规则的FTP客户端访问设备。

2. 配置限制和指导

配置ACL限制FTP客户端时:

·     当未引用ACL时,允许所有FTP客户端访问设备;

·     当引用的ACL不存在或者为空时,禁止所有FTP客户端访问设备;

·     当引用的ACL非空时,则只有ACL中permit的用户才能访问设备,禁止其他用户访问设备,以避免非法用户访问设备;

·     如果多次使用该命令配置FTP服务与ACL关联,最新配置生效。

·     在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。

关于ACL的详细描述和介绍请参见“ACL和QoS配置指导”中的“ACL”。

该配置只过滤新建立的FTP连接,不会对已建立的FTP连接和操作造成影响。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     (可选)设置FTP客户端对FTP服务器的访问限制。

(IPv4网络)

ftp server acl { advanced-acl-number | basic-acl-number | mac mac-acl-number }

(IPv6网络)

ftp server acl ipv6 { advanced-acl-number | basic-acl-number | mac mac-acl-number }

缺省情况下,FTP客户端对FTP服务器的访问不受限制。

(3)     (可选)开启匹配ACL deny规则后打印日志信息功能。

ftp server acl-deny-log enable

缺省情况下,匹配ACL deny规则后打印日志信息功能处于关闭状态。

1.3.5  配置FTP服务器连接管理参数

(1)     进入系统视图。

system-view

(2)     配置FTP服务器的连接空闲时间。

ftp timeout minutes

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

如果在设置的连接空闲时间到期时,FTP服务器和客户端一直没有信息交互,则断开它们之间的连接。

(3)     配置使用FTP方式同时登录设备的在线的最大用户连接数。

aaa session-limit ftp max-sessions

缺省的最大用户连接数为32。

配置本命令后,已经在线的用户连接不会受到影响,只对新的用户连接生效。如果当前在线的用户连接数已经达到最大值,则新的连接请求会被拒绝,登录会失败。

关于该命令的详细描述请参见“安全命令参考”中的“AAA”。

1.3.6  配置FTP服务器引用SSL

1. 功能简介

当支持FTP安全扩展协议的两台设备建立FTP连接时,通过将FTP服务与SSL服务器端策略关联,可以建立一条安全的SSL连接来传输数据,保证FTP传输的安全性。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置FTP服务器引用SSL。

ftp server ssl-server-policy policy-name

缺省情况下,FTP服务器未引用SSL服务器端策略。

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

(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.3.8  释放已建立的FTP连接

请在用户视图下执行本命令,释放已建立的FTP连接。请选择其中一项进行配置。

·     强制释放与指定用户之间的FTP连接。

free ftp user username

·     强制释放与指定IP地址的主机之间的FTP连接。

free ftp user-ip [ ipv6 ] ip-address [ port port ]

1.3.9  FTP服务器显示和维护

完成上述配置后,在任意视图下执行display命令可以显示FTP服务器的配置和运行情况,通过查看显示信息验证配置的效果。

表1-1 FTP服务器显示和维护

操作

命令

查看当前FTP服务器的配置和运行情况

display ftp-server

查看当前FTP登录用户的详细情况

display ftp-user

 

1.3.10  FTP服务器典型配置举例

1. 组网需求

·     Device作为FTP服务器,PC作为FTP客户端。

·     将存储在PC上的文件temp.bin上传到FTP服务器,并使用FTP功能备份Device的启动配置文件。

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

2. 组网图

图1-1 FTP服务器典型配置组网图

 

3. 配置步骤

配置前请确保Device和PC之间路由可达,IP地址如图1-1所示,具体配置步骤略。

(1)     配置Device(FTP server)

# 在Device上添加一个FTP用户abc,并设置其认证密码为hello12345,访问时使用的用户角色为network-admin,授权访问目录为Flash的根目录,abc可以使用的服务类型为FTP。

<Sysname> system-view

[Sysname] local-user abc class manage

[Sysname-luser-abc] password simple hello12345

[Sysname-luser-abc] authorization-attribute user-role network-admin work-directory flash:/

[Sysname-luser-abc] service-type ftp

[Sysname-luser-abc] quit

# 启动Device的FTP服务功能。

[Sysname] ftp server enable

[Sysname] quit

# 删除Device中的多余文件,以保证剩余足够的空间,用于存储需要上传的文件。

<Sysname> dir

Directory of flash:

     0      drw-           -  Jun 29 2011 18:30:38     logfile

     1      drw-           -  Jun 21 2011 14:51:38     diagfile

     2      drw-           -  Jun 21 2011 14:51:38     seclog

     3      -rw-        2943  Jul 02 2011 08:03:08     startup.cfg

     4      -rw-       63901  Jul 02 2011 08:03:08     startup.mdb

     5      -rw-         716  Jun 21 2011 14:58:02     hostkey

     6      -rw-         572  Jun 21 2011 14:58:02     serverkey

     7      -rw-     6541264  Aug 04 2011 20:40:49     backup.bin

 

473664 KB total (467080 KB free)

<Sysname> delete /unreserved flash:/backup.bin

(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,并将Device的配置文件startup.cfg下载到PC本地进行备份。

ftp> ascii

200 TYPE is now ASCII

ftp> get startup.cfg back-startup.cfg

# 将传输模式设置为binary,并上传文件temp.bin到Device。

ftp> binary

200 TYPE is now 8-bit binary

ftp> put temp.bin

# 退出FTP。

ftp> bye

1.4  配置FTP客户端

1.4.1  FTP客户端配置任务简介

FTP客户端配置任务如下:

(1)     建立FTP连接

(2)     (可选)显示帮助信息

(3)     (可选)查看FTP服务器上的目录/文件

(4)     (可选)操作FTP服务器上的目录

(5)     (可选)操作FTP服务器上的文件

(6)     (可选)更改登录用户

(7)     (可选)FTP连接的维护与调试

(8)     (可选)断开FTP连接

1.4.2  建立FTP连接

1. 建立FTP连接配置任务简介

建立FTP连接配置任务如下:

(1)     (可选)配置FTP客户端发送的FTP报文的源地址

(2)     登录FTP服务器

(3)     配置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。

4. 登录FTP服务器

·     从用户视图登录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 } ] ] *

(IPv6网络)

ftp ipv6 [ ftp-server [ service-port ] [ vpn-instance vpn-instance-name ] [ dscp dscp-value | source { ipv6 source-ipv6-address | interface interface-type interface-number } ] * [ -i interface-type interface-number ] ]

·     从FTP客户端视图登录FTP服务器。

a.     请在用户视图下执行本命令,进入FTP客户端视图。

ftp [ ipv6 ]

b.     登录FTP服务器。

open server-address [ service-port ]

5. 配置FTP文件传输方式

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     设置FTP文件传输的模式。

¡     配置FTP文件传输的模式为ASCII模式。

ascii

¡     配置FTP文件传输的模式为二进制模式。

binary

缺省情况下,文件传输模式为二进制模式。

(3)     切换数据的传输方式。

passive

缺省情况下,数据传输的方式为被动方式。

1.4.3  显示帮助信息

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     显示命令或命令的帮助信息。

¡     方式一

help [ command-name ]

¡     方式二

? [ command-name ]

1.4.4  查看FTP服务器上的目录/文件

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     查看FTP服务器上的目录/文件。

¡     方式一

dir [ remotefile [ localfile ] ]

¡     方式二

ls [ remotefile [ localfile ] ]

1.4.5  操作FTP服务器上的目录

1. 配置准备

使用dir或者ls命令查看FTP服务器上的目录/文件的详细信息。

2. 配置步骤

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     操作FTP服务器上的目录

¡     显示当前用户正在访问的FTP服务器上的路径。

pwd

¡     切换FTP服务器上的工作路径。

cd { directory | .. | / }

¡     退出FTP服务器的当前目录,返回FTP服务器的上一级目录。

cdup

¡     在FTP服务器上创建目录。

mkdir directory

¡     删除FTP服务器上指定的目录。

rmdir directory

注意

执行本命令前,请确认指定目录不会再被使用,以免误删有用目录。

 

1.4.6  操作FTP客户端本地的工作目录

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     显示或切换FTP客户端本地的工作路径。

lcd [ directory | / ]

上传的文件为该路径下的文件时,缺省情况下文件下载后也将保存到该路径。

1.4.7  操作FTP服务器上的文件

1. 配置准备

使用dir或者ls命令了解FTP服务器上的目录结构以及文件所处的位置。

2. 配置步骤

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     操作FTP服务器上的文件

¡     删除FTP服务器上的文件。

delete remotefile

注意

执行本命令前,请确认指定文件不会再被使用,以免误删有用文件。

 

用户必须具有删除的权限才能执行该操作。

¡     重命名文件。

rename [ oldfilename [ newfilename ] ]

¡     上传本地文件到FTP服务器。

put localfile [ remotefile ]

¡     下载FTP服务器上的文件。

get remotefile [ localfile ]

¡     在原文件的内容后面添加新文件的内容。

append localfile [ remotefile ]

¡     指定重传点。

restart marker

配合putgetappend等命令使用。

¡     更新本地文件。

newer remotefile

¡     从本地文件的尾部开始获取文件的剩余内容。

reget remotefile [ localfile ]

1.4.8  更改登录用户

1. 功能简介

当设备作为FTP客户端,与FTP服务器连接建立成功后,可以通过该功能实现不同权限用户之间的切换。用户成功切换后,不会影响当前的FTP连接(即FTP控制连接、数据连接以及连接状态都不变)。

2. 配置限制和指导

如果在用户切换时,输入的用户名/密码错误,则会断开当前连接,用户必须重新登录才能继续访问FTP服务器。

3. 配置步骤

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     在现有FTP连接上重新发起FTP认证。

user username [ password ]

1.4.9  FTP连接的维护与调试

1. 功能简介

当设备作为FTP客户端,与FTP服务器连接建立成功后,通过以下命令,可以帮助用户定位和诊断FTP连接出现的问题。

2. 配置步骤

(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.4.10  断开FTP连接

(1)     请在用户视图下执行本命令,进入FTP客户端视图。

ftp

(2)     断开与FTP服务器的连接。请选择其中一项进行配置。

¡     断开与FTP服务器的连接,并留在FTP客户端视图。请选择其中一项进行配置。

disconnect

close

¡     断开与FTP服务器的连接,并退回到用户视图。请选择其中一项进行配置。

bye

quit

1.4.11  FTP客户端显示和维护

在完成上述配置后,可在任意视图下执行display命令,通过查看显示信息验证配置的效果。

表1-2 FTP客户端显示和维护

操作

命令

显示设备作为FTP客户端时的源地址配置

display ftp client source

 

1.4.12  FTP客户端典型配置举例

1. 组网需求

·     Device作为FTP客户端,PC作为FTP服务器。

·     Device从PC上下载文件temp.bin,并将启动配置文件上传到PC进行备份。

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

2. 组网图

图1-2 FTP客户端典型配置组网图

 

3. 配置步骤

说明

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

 

配置前请确保Device和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服务器下载到Device。

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)

# 将Device的配置文件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.

<Sysname>

2 TFTP

2.1  TFTP简介

TFTP(Trivial File Transfer Protocol,简单文件传输协议)用于在TFTP服务器和TFTP客户端之间传输文件。它基于UDP协议,使用UDP端口建立连接、收/发数据报文。与基于TCP的FTP协议比较,TFTP不需要认证,没有复杂的报文交互,部署简单,适用于客户端和服务器均很可靠的网络环境。

2.2  FIPS相关说明

设备运行于FIPS模式时,不支持TFTP相关功能。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。

2.3  TFTP配置限制和指导

TFTP客户端可以上传文件到TFTP服务器,也可以从TFTP服务器下载文件到本地。上传文件时,如果TFTP服务器上已经存在同名文件,则系统会删除同名文件,保存新文件。同样,下载文件时,如果TFTP客户端上已经存在同名文件,系统也会删除同名文件,保存新文件。因此,当上传/下载启动文件或配置文件等重要文件时,建议使用一个不存在的文件名作为目标文件名。

2.4  配置TFTP服务器

(1)     进入系统视图。

system-view

(2)     开启TFTP服务器功能。

tftp server enable

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

在IPv4网络和IPv6网络环境下,均支持将设备配置为TFTP服务器。

(3)     (可选)配置TFTP服务器工作路径。

tftp server work-directory directory

缺省情况下,TFTP服务器的工作路径为缺省文件系统的根目录。

2.5  配置IPv4 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命令中指定的源地址进行通信。

2.6  配置IPv6 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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们