前置任务
在通过FTP进行文件操作之前,需完成以下任务:
- 终端与设备之间路由可达。
- 终端支持FTP客户端软件。
配置流程
须知:使用FTP协议存在安全风险,建议使用SFTP V2、SCP或FTPS方式进行文件操作。
通过FTP进行文件操作的配置流程如表1所示。
表1 通过FTP进行文件操作的配置流程
|
序号 |
配置任务名称 |
配置任务说明 |
配置流程说明 |
|
1 |
配置FTP服务器功能及参数 |
包括FTP服务器的使能及参数配置:端口号、源地址、超时断连时间。 |
序号1、2、3之间没有严格的配置顺序。 |
|
2 |
配置FTP本地用户 |
包括配置本地用户的服务类型、用户级别及FTP用户的授权目录等。 |
|
|
3 |
(可选)配置FTP访问控制 |
包括配置ACL规则及FTP基本访问控制列表,提高FTP访问的安全性。 |
|
|
4 |
用户通过FTP访问设备 |
从终端通过FTP访问设备。 |
- |
缺省配置
表2 缺省配置
|
参数 |
缺省值 |
|
FTP服务器功能 |
关闭 |
|
端口号 |
21 |
|
FTP用户 |
没有创建本地用户 |
操作步骤
配置FTP服务器功能及参数
表3 配置FTP服务器功能及参数
|
操作步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
(可选)指定FTP服务器端口号 |
ftp [ ipv6 ] server port port-number |
缺省情况下,FTP服务器端口号是21。 如果配置了新的端口号,FTP服务器端先断开当前已经建立的所有FTP连接,然后使用新的端口号开始尝试连接。这样可以有效防止攻击者对FTP服务标准端口的访问。 |
|
指定FTP服务器的源地址 |
|
缺省情况下,未指定FTP服务器的源地址。 配置了服务器的源地址后,登录服务器时,所输入的服务器地址必须与该命令中配置的一致,否则无法成功登录。 |
|
使能FTP服务器 |
ftp [ ipv6 ] server enable |
缺省情况下,设备的FTP服务器功能是关闭的。 |
|
(可选)配置FTP连接空闲时间 |
ftp [ ipv6 ] timeout minutes |
缺省情况下,连接空闲时间为10分钟。 在设定的时间内,如果FTP连接始终处于空闲状态时,系统将自动断开FTP连接。 |
|
(可选)设置FTP服务器支持的最大会话数 |
ftp [ ipv6 ] server max-sessions max-sessions-number |
缺省情况下,FTP服务器支持的最大会话数是5。 |
如果变更端口号前FTP服务已经启动,则不能变更成功。需执行undo ftp [ ipv6 ] server命令关闭FTP服务,再进行端口号变更。
当客户端与设备之间的文件操作结束后,请执行undo ftp [ ipv6 ] server命令,及时关闭FTP服务器功能,从而保证设备的安全。
配置FTP本地用户
当用户通过FTP进行文件操作时,需要在作为FTP服务器的设备上配置本地用户名及口令、指定用户的服务类型以及可以访问的目录,否则用户将无法通过FTP访问设备。
表4 配置FTP本地用户
|
操作步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入AAA视图 |
aaa |
- |
|
配置本地用户名和密码 |
local-user user-name password irreversible-cipher password |
- |
|
配置本地用户级别 |
local-user user-name privilege level level |
说明: 必须将用户级别配置在3级或3级以上,否则FTP连接将无法成功。 |
|
配置本地用户的服务类型为FTP |
local-user user-name service-type ftp |
缺省情况下,本地用户可以使用所有的接入类型。 |
|
配置FTP用户的授权目录 |
local-user user-name ftp-directory directory |
缺省情况下,本地用户的FTP目录为空。 当有多个FTP用户且有相同的授权目录时,可以执行 set default ftp-directory directory 命令,为FTP用户配置缺省工作目录。此时,不需要通过 local-user user-name ftp-directory directory 命令为每个用户配置授权目录。 |
|
配置本地用户的FTP权限 |
local-user user-name ftp-privilege [ directoryfilename ] { read | write | execute }* |
缺省情况下,本地用户的FTP权限为读、写和执行权限。 |
(可选)配置FTP访问控制
ACL是一系列有顺序的规则组的集合,这些规则根据数据包的源地址、目的地址、端口号等来描述。ACL通过规则对数据包进行分类,这些规则应用到路由设备,路由设备根据这些规则判断哪些数据包可以接收,哪些数据包需要拒绝。
用户可以配置FTP访问控制列表,实现只允许指定的客户端登录到设备,以提高安全性。
ACL规则:
- 当ACL的rule配置为 permit 时,则允许匹配该rule规则的其他设备与本设备建立FTP连接。
- 当ACL的rule配置为 deny 时,则拒绝匹配该rule规则的其他设备与本设备建立FTP连接。
- 当ACL配置了rule,但来自其他设备的报文没有匹配该rule规则时,则拒绝其他设备与本设备建立FTP连接。
- 当ACL未配置rule时,则允许任何其他设备与本设备建立FTP连接。
表5 (可选)配置FTP访问控制
|
操作步骤 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入ACL视图 |
acl [ number ] acl-number |
- |
|
配置ACL规则 |
rule [ rule-id ] { deny | permit } [ source { source-address source-wildcard | any } | fragment | logging | time-range time-name | { vpn-instance vpn-instance-name | public } ] * |
- |
|
退回到系统视图 |
quit |
- |
|
配置FTP基本访问控制列表 |
ftp [ ipv6 ] acl acl-number |
- |
用户通过FTP访问设备
从终端通过FTP访问设备,可以选择使用Windows命令行提示符或第三方软件。此处以Windows命令行提示符为例进行配置。
- 执行Windows命令 ftp ip-address ,通过FTP方式访问设备。
- 此处输入的IP地址为设备上配置的IP地址,且与用户终端IP地址路由可达。
- 根据提示输入用户名和口令,按Enter键,当出现FTP客户端视图的命令行提示符,如ftp>,此时用户进入了FTP服务器的工作目录。(以下显示信息仅为示意)
C:\Documents and Settings\Administrator> ftp 192.168.150.208
连接到 192.168.150.208。
220 FTP service ready.
用户(192.168.150.208:(none)):huawei
331 Password required for huawei.
密码:
230 User logged in.
ftp>
通过FTP命令进行文件操作
用户访问FTP服务器后,可以通过FTP命令进行文件操作,包括目录操作、文件操作、配置文件传输方式、查看FTP命令在线帮助等。
说明: 用户的操作权限受限于服务器上对该用户的权限设置。由于文件系统对根目录下的文件个数有限制,当根目录中文件个数大于50个时,继续在根目录中创建文件可能会失败。
以下各操作没有严格顺序,可根据需求选择一种或多种操作项目。
表6 通过FTP命令进行文件操作
|
操作项目 |
命令 |
说明 |
|
改变服务器上的工作路径 |
cd remote-directory |
- |
|
改变服务器的工作路径到上一级目录 |
cdup |
- |
|
显示服务器工作路径 |
pwd |
- |
|
显示或者改变客户端的工作路径 |
lcd [ local-directory ] |
与 pwd 不同的是, lcd 命令执行后显示的是客户端的本地工作路径,而 pwd 显示的则是远端服务器的工作路径。 |
|
在服务器上创建目录 |
mkdir remote-directory |
创建的目录可以为字母和数字等的组合,但不可以为<、>、?、\、:等特殊字符。 |
|
在服务器上删除目录 |
rmdir remote-directory |
- |
|
显示服务器上指定目录或文件的信息 |
dir/ls [ remote-filename [ local-filename ] ] |
|
|
删除服务器上指定文件 |
delete remote-filename |
- |
|
上传单个或多个文件 |
put local-filename [ remote-filename ] 或 mput local-filenames |
|
|
*载下**单个或多个文件 |
get remote-filename [ local-filename ] 或 mget remote-filenames |
|
|
配置传输文件的数据类型为ASCII模式或二进制模式 |
ascii 或 binary |
二选一
|
|
配置文件传输方式为被动方式或主动方式 |
passive 或 undo passive |
二选一 缺省情况下,数据传输方式是主动方式。 |
|
查看FTP命令的在线帮助 |
remotehelp [ command ] |
- |
|
使能系统的提示功能 |
prompt |
缺省情况下,不使能信息提示。 |
|
打开verbose开关 |
verbose |
如果打开verbose开关,将显示所有FTP响应,包括FTP协议信息,以及FTP服务器返回的详细信息。 |
(可选)更改登录用户
设备可以在不退出FTP客户端视图的情况下,以其他的用户名登录到FTP服务器。所建立的FTP连接,与执行 ftp 命令建立的FTP连接完全相同。
|
操作步骤 |
命令 |
说明 |
|
FTP客户端视图下,更改当前的登录用户 |
user user-name [ password ] |
更改当前的登录用户后,原用户与服务器的连接将断开。 |
断开与FTP服务器的连接
用户可以在FTP客户端视图中选择不同的命令断开与FTP服务器的连接。
|
操作步骤 |
命令 |
说明 |
|
终止与服务器的连接,并退回到用户视图 |
bye 或 quit |
二选一。 |
|
终止与服务器的连接,并退回到FTP客户端视图 |
close 或 disconnect |
检查配置结果
- 使用 display [ ipv6 ] ftp-server 命令,查看FTP服务器的配置和状态信息。
- 使用 display ftp-users 命令,查看登录的FTP用户信息。