配置设备作为FTP客户端访问其他设备的文件
当前设备作为FTP客户端登录远程FTP服务器,实现文件传输以及对服务器上文件及目录的管理操作。
前置任务
在配置通过FTP访问其他设备的文件之前,需完成以下任务:
- 当前设备和FTP服务器路由可达。
- 已获取FTP服务器的IP地址、FTP用户名及密码。
- 如果服务器不是使用标准的端口号,则还需获取服务器端设置的端口号。
配置流程
使用FTP协议存在安全风险,建议使用SFTP V2或SCP方式进行文件操作。
通过FTP访问其他设备文件的配置流程如表7-31所示。
操作步骤
- (可选)配置FTP客户端源地址
配置源地址需要选择设备上状态稳定的接口,如LoopBack接口。该配置简化了ACL规则和安全策略的配置,只要将ACL规则的源地址或目的地址指定为该地址,就可以屏蔽接口IP地址的差异以及接口状态的影响,实现对设备进出报文的过滤。
FTP客户端配置的源地址必须为LoopBack地址或LoopBack接口。
表7-32 配置FTP客户端源地址操作步骤
命令
说明
进入系统视图
system-view
-
配置FTP客户端的源地址信息
ftp client source { -a source-ip-address | -i interface-type interface-number }
建议使用Loopback接口的地址。
当配置为LoopBack接口时,一定要为此接口配置IP地址,否则会导致FTP连接建立失败。
提交配置
commit
-
- 使用FTP连接其他设备
在用户视图和FTP客户端视图下,用户均可以使用相应命令访问FTP服务器。
当只需与FTP服务器间进行文件上传或下载时,可以直接在用户视图下执行命令ftp { put | get } [ -a source-ip-address | -i interface-type interface-number ] host-ip host-ip [ port portnumber ] [ public-net | vpn-instance vpn-instance-name ] username username sourcefile local-filename [ destination remote-filename ]或ftp { put | get } ipv6 host-ip host-ipv6 [ public-net | vpn-instance vpn-instance-name ] [ port portnumber ] username username sourcefile local-filename [ destination remote-filename ]一步完成文件的传输,但此命令不能执行其他FTP操作。
根据服务器端IP地址类型不同,进行如下操作。
表7-33 使用FTP命令连接其他设备(服务器端IPv4地址类型)操作步骤
命令
说明
用户视图下直接建立与IPv4 FTP服务器的连接
ftp [ [ -a source-ip-address | -i interface-type interface-number ] host-ip [ port-number ] [ public-net | vpn-instance vpn-instance-name ] ]
二选一
FTP客户端视图下建立与FTP服务器的连接时需要先使用ftp命令进入FTP客户端视图。
FTP客户端视图下建立与IPv4 FTP服务器的连接
ftp
open [ -a source-ip-address | -i interface-type interface-number ] host-ip [ port-number ] [ public-net | vpn-instance vpn-instance-name ]
在访问FTP服务器之前,可以执行命令set net-manager vpn-instance,设置默认的VPN实例。执行该命令后,进行FTP操作时所使用的VPN实例即用户配置的默认VPN实例。
ftp命令中指定的源地址优先级高于ftp client source命令中指定源地址的优先级。如果执行命令ftp client source指定了源地址后,又在ftp命令中指定了源地址,则采用ftp命令中指定的源地址进行通信。ftp client source命令指定的源地址对所有的FTP连接都有效,ftp命令指定的源地址只对当前的FTP连接有效。
表7-34 使用FTP命令连接其他设备(服务器端IPv6地址类型)操作步骤
命令
说明
用户视图下直接建立与IPv6 FTP服务器的连接
ftp ipv6 host-ipv6 [ public-net | vpn-instance vpn-instance-name ] [ port-number ]
二选一
FTP客户端视图下建立与FTP服务器的连接时需要先使用ftp命令进入FTP客户端视图。
FTP客户端视图下建立与IPv6 FTP服务器的连接
ftp
open ipv6 host-ipv6 [ port-number ] [ public-net | vpn-instance vpn-instance-name ]
用户访问服务器时,需要经过验证,输入正确的用户名和密码后,方可访问服务器。
- 通过FTP命令进行文件操作
用户访问FTP服务器后,可以通过FTP命令进行文件操作,包括目录操作、文件操作、配置文件传输方式、查看FTP命令在线帮助等。
用户的操作权限受限于服务器上对该用户的权限设置。
以下各操作没有严格顺序,可根据需求选择一种或多种操作项目。
表7-35 通过FTP命令进行文件操作操作项目
命令
说明
改变服务器上的工作路径
cd remote-directory
-
改变服务器的工作路径到上一级目录
cdup
-
显示服务器工作路径
pwd
-
显示或者改变客户端的工作路径
lcd [ local-directory ]
与pwd不同的是,lcd命令执行后显示的是客户端的本地工作路径,而pwd显示的则是远端服务器的工作路径。
在服务器上创建目录
mkdir remote-directory
创建的目录可以为字母和数字等的组合,但不可以为<、>、?、\、:等特殊字符。
在服务器上删除目录
rmdir remote-directory
-
显示服务器上指定目录或文件的信息
dir/ls [ remote-filename [ local-filename ] ]
- ls命令只能显示出目录/文件的名称,而dir命令可以查看目录/文件的详细信息,如大小,创建日期等。
- 如果指定远程文件时没有指定路径名称,那么系统将在用户的授权目录下搜索指定的文件。
删除服务器上指定文件
delete remote-filename
-
上传单个或多个文件
put local-filename [ remote-filename ]
或
mput local-filenames
- put命令是从本地设备上传单个文件至远端服务器。
- mput命令是从本地设备上传多个文件至远端服务器。
下载单个或多个文件
get remote-filename [ local-filename ]
或
mget remote-filenames
- get命令是从远端服务器下载单个文件并存储在本地。
- mget命令是从远端服务器下载多个文件并存储在本地。
配置传输文件的数据类型为ASCII模式
ascii
二选一
缺省情况下,文件传输方式为ASCII模式。
传输文本文件使用ASCII方式,传输程序、系统软件、数据库文件等使用二进制模式。
配置传输文件的数据类型为二进制模式
binary
配置文件传输方式为被动方式
passive
二选一
缺省情况下,数据传输方式是主动方式。
配置文件传输方式为主动方式
undo passive
查看FTP命令的在线帮助
remotehelp [ command ]
-
使能系统的提示功能
prompt
缺省情况下,不使能信息提示。
说明:本命令只应用在使用mput命令和mget命令的多文件传输场景中。其中对于使用mget命令的场景,如果被传输的文件已经在本地存在,无论系统提示的功能被使能还是被禁止,系统都会提示用户是否覆盖本地已存在的文件。
打开verbose开关
verbose
如果打开verbose开关,将显示所有FTP响应,包括FTP协议信息,以及FTP服务器返回的详细信息。
- (可选)更改登录用户
设备可以在不退出FTP客户端视图的情况下,以其他的用户名登录到FTP服务器。所建立的FTP连接,与执行ftp命令建立的FTP连接完全相同。
操作步骤
命令
说明
FTP客户端视图下,更改当前的登录用户
user user-name
更改当前的登录用户后,原用户与服务器的连接将断开。
- 断开与FTP服务器的连接
用户可以在FTP客户端视图中选择不同的命令断开与FTP服务器的连接。
操作步骤
命令
说明
终止与服务器的连接,并退回到用户视图
bye 或 quit
二选一。
终止与服务器的连接,并留在FTP客户端视图
close 或 disconnect