用FTP在路由器和服务器之间传输文件,是在Cisco IOS Release 12.0中引进的。因为FTP是一个使用TCP/IP的面向连接的应用,所以它比TFTP提供更好的吞吐量和成功率,TFTP是用UDP/IP作传输服务的无连接应用。
作为一个面向连接的应用,在传输IOS映像之前,FTP需要使用登录和口令。建立路由器到FTP服务器的登录用户名和口令,通过使用路由器上特权模式的配置操作完成。为了准备用FTP进行IOS映像传输,将再次使用下列命令顺序来提供这些信息给路由器IOS:
enable
enter password xxxxxxxxx
configure terminal
ip ftp username login_name
ip ftp password login_password
end
write memory
像用TFTP一样, enable命令以及跟着的特权口令,允许操作员获得使用特权模式命令的权力。Configure terminal命令执行路由器的配置模式。在这种模式下,可以输入任何或全部选项与定义来修改、添加或删除路由器运行配置。与目标FTP服务器上一个登录名字相关联的FTP用户名,通过ip ftp username命令提供给路由器IOS。ip ftp username 命令中的login-name变量,定义了当Copy ftp:命令中未指定登录名时路由器使用的缺省用户登录名。
login-name变量是目标FTP服务器上的一个有效用户名。ip ftp password命令是与目标FTP服务器上指定的login-name相关联的缺省口令。end命令退出配置模式。执行完这些命令后,路由器IOS配置有了连接到FTP服务器上所必需的FTP参数。命令行最后的write memory命令,把路由器的运行配置写到路由器的NVRAM中以永久保存。保存运行配置到存储器,就在加电重启和路由器重新装载之间保存了刚输入的配置信息。
把当前IOS映像备份到一个FTP服务器,通过输入如下命令完成:
copy device:filename
ftp:[[[//login-name[:login-password]@]location]/directory]/filename]
使用此命令,路由器管理员通过device:filename变量的device参数,来指定路由器上闪存位置,通过filename参数指定映像的名字。filename是闪存设备上找到的一份映像名字。
下载
login-name和login-password值,可以是ip ftp username和ip ftp password命令设置的值。
然而,要记得这些命令仅用于缺省情况。若这些命令未被输入,FTP服务器提示路由器管理员输入用户名和口令。剩下的location、directory和filename变量定义与TFTP中相同。
例如,从闪存传送一份映像到名为FTP SERVER的FTP服务器,路由器管理员输入下列命令:
copy flash:ios-image
ftp://joev:jandj@FTPSERVER/Cisco/image/ios-image
名为ios-image的映像被复制到相对于FTP服务器的授权用户joev的目录结构的//cisco/image/目录中。名为FTP SERVER的服务器的IP地址,由路由器向在配置文件中找到的DNS服务器执行一次DNS查询而确定。
传输一份新映像文件到路由器通过下面的copy ftp:命令而执行:
copy ftp: [[[//[login-name[:login-password]@]location]/directory]/filename]device:[filename]
copy ftp:命令使用与前面讨论的相同的变量。使用此命令时,只需如下指出:
copy ftp: slot1:
用这种缩写格式的命令时,缺省的login-name和缺省的login-password被传送到FTP服务器。
如果路由器的缺省值未被指定,FTP服务器将提示输入用户名和用户口令。该FTP连接像对待其他连接一样,并且路由器管理员输入将取回的文件的filename。注意,在此例中,与登录名相关联的缺省目录结构必须有所请求的filename供获取。此例中所请求的文件将被存储在指定的slot1的闪存卡中。
Cisco IOS使用一种缺省机制,来提供FTP login-name和login-password值。对login-name,IOS将使用下列标准:
1) 如果指定login-name的话,在copy命令中指定。
2) 如果该命令被配置,在ip ftp username命令中设置login-name。
3) 缺省的FTP登录名anonymous。
password由下面的决定:
1) 如果指定login-password的话,在copy命令中指定。
2) 如果该命令被配置,在ip ftp password命令中设置login-password。
3) 路由器生成一个login-password: l