FTP实验

File Transfer Protocol 文件传输协议

FTP服务器开启21号端口进行控制连接,20号端口与客户端建立数据连接

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是最通用的信息交换标准。

FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。

FTP 是基于客户———服务器(C/S)模型而设计的,在客户端与 FTP 服务器之间建立两个连接

传输方式

FTP支持两种方式的传输:文本(ASCII)方式和二进制(Binary)方式。通常文本文件的传输采用ASCII方式,而图象、声音文件、加密和压缩文件等非文本文件采用二进制方式传输,如果为了从一个系统上传输文件而使用了与本地系统不同的计算机字节位数,那么就必须使用Tenex模式。FTP以ASCII方式作为缺省的文件传输方式。

传输过程

使用FTP进行文件传输时,会使用两个TCP连接。第一个连接是FTP客户端和FTP服务器间的控制连接。FTP服务器开启21号端口,等待FTP客户端发送连接请求。FTP客户端随机开启端口,向服务器发送建立连接的请求。控制连接用于在服务器和客户端之间传输控制命令。
第二个连接是FTP客户端和FTP服务器间的数据连接。服务器使用TCP的20号端口与客户端建立数据连接。通常情况下,服务器主动建立或中断数据连接。

FTP服务器配置

路由器和X7系列交换机均可提供FTP功能。
执行ftp server enable命令使能FTP功能。
执行set default ftp-directory命令设置FTP用户的默认工作目录。

在配置FTP服务器时,可以使用AAA为每个用户分别配置登录账号和访问权限。 aaa命令用来进入AAA视图。

local-user user-name { access-limit max-number | ftp-directory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ] | privilege level level | state {active | block } } *命令用来创建本地用户,并配置本地用户的各项参数。

  user-name指定用户名。
    local-user huawei service-type ftp命令用来配置本地用户的接入类型为ftp。
    ftp-directory指定FTP用户可访问的目录。如果不配置FTP用户可访问的目录,则FTP用户无法登录设备。
    access-limit指定用户名可建立的最大连接数目。
    idle-timeout指定用户的闲置超时时间。
    privilege level指定用户的优先级。

命令详解

idle-timeout

idle-timeout命令用来设置用户连接的超时时间。

undo idle-timeout命令用来恢复超时时间的缺省值。

缺省情况下,用户连接的超时时间是5分钟。

命令格式

idle-timeout minutes [ seconds ]

undo idle-timeout

minutes 指定用户界面断连的超时时间的分钟数。 整数形式,取值范围是0~35791,单位是分钟。
seconds 指定用户界面断连的超时时间的秒数。 整数形式,取值范围是0~59,单位是秒

缺省级别

3:管理级

  • 设置执行命令idle-timeout 0 0即关闭用户界面的超时断连功能。
  • 如果用户界面没有设置闲置断连功能,则会导致已登录的用户始终处于连接状态,给设备带来安全风险,同时还有可能导致其他用户无法获得连接。
  • 通常情况下,推荐设置用户界面断连的超时时间在10~15分钟之间。

# 设置超时为1分钟30秒。

1
idle-timeout 1 30

local-user privilege level

必须配置在3以上,否则ftp连接无法成功

local-user privilege level命令用来配置本地用户的优先级。

undo local-user privilege level命令用来将本地用户的优先级恢复为缺省配置。

缺省情况下,本地用户(如Telnet用户、SSH用户)的优先级由管理模块来决定。

命令格式

local-user user-name privilege level level

undo local-user user-name privilege level

user-name 用户名。 字符串形式,不支持空格,不区分大小写,长度范围是1~64。
level 用户的优先级。 整数形式,取值范围是0~15,取值越大,用户的优先级越高。缺省级别是0级。不同级别的用户登录后,只能使用等于或低于自己级别的命令

缺省情况下,命令级别分为0~3级:

  • 级别0即参观级,网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命令(包括:Telnet 客户端、SSH)等。该级别命令不允许进行配置文件保存的操作。
  • 级别1即监控级,用于系统维护,包括display命令。该级别命令不允许进行配置文件保存的操作。
  • 级别2即配置级,可以使用业务配置命令,包括路由、各个网络层次的命令,向用户提供直接网络服务。
  • 级别3即管理级,用于系统基本运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP、配置文件切换命令、备板控制命令、用户管理命令、命令级别设置命令、系统内部参数设置命令;用于业务故障诊断的debugging命令。

access-limit

access-limit命令用来配置当前域允许接入的用户数。

undo access-limit命令用来恢复缺省配置。

缺省情况下,不限制接入的用户数目。

命令格式

access-limit max-number

undo access-limit

max-number 指定允许接入的用户数。 整数形式,取值范围是0~283648。

为了更方便地管理用户访问设备,可以限制域下用户的在线数量。

注意事项

执行这条配置命令后,当接入用户数大于允许的用户数时,系统不再允许用户接入系统,提示用户认证失败。

access-limit命令对一个域下所能接入的用户总数进行限制,不区分接入用户的类型。

# 设置当前域最多允许接入100个用户。

1
access-limit 100

local-user ftp-directory

local-user ftp-directory命令用来配置本地用户的FTP目录。

undo local-user ftp-directory命令用来将本地用户的FTP目录恢复为缺省配置。

缺省情况下,本地用户的FTP目录为空。

当需要将设备配置为FTP服务器,从而便于本地用户以FTP方式登录设备,对设备上的文件进行增加、删除、修改等操作时,可以通过本命令配置本地用户以FTP方式登录设备后所处的目录。

不指定该目录时,本地用户无法以FTP方式登录设备。

配置本地用户的FTP目录时,该用户必须已由local-user password命令建立。

local-user password

local-user password命令用来创建一个本地用户并配置该用户的登录密码,或者修改已创建用户的登录密码。

undo local-user命令用来删除一个本地用户。

缺省情况下,系统没有本地用户。

local-user user-name password [ cipher password | irreversible-cipher irreversible-cipher-password ]

undo local-user user-name

cipher password

指定密文密钥。密钥以明文或密文形式输入,但配置文件中保存为密文形式。

irreversible-cipher irreversible-cipher-password

指定不可逆密文密钥。密钥以明文或不可逆密文形式输入,但配置文件中保存为密文形式。

总结

1.FTP服务器需要开启TCP的21号端口来建立控制连接,20号端口来建立数据连接。

2.如果用户无权访问任何工作目录,则需要定义一个默认的FTP目录。执行set default ftp-directory 命令建立默认目录。

FTP实验

R1 做为FTP Server 进行配置
R2 做为Client 测试

R1:
undo ter mo
sys
sysname R1
int g0/0/0
ip add 192.168.1.1 24

R2:
undo ter mo
sys
sysname R2
int g0/0/0
ip add 192.168.1.2 24

ftp1130183749

R1:
ftp server enable
set default ftp-directory flash:/

(设置默认目录为flash:/)

ftp server enable命令用来开启设备的FTP服务器功能,允许FTP用户登录。缺省情况下,FTP服务器功能处于关闭状态。

其他可选的配置参数还包括:指定FTP服务器端口号、指定FTP服务器的源地址和配置FTP连接空闲时间等。

R1:

通过在AAA中设置用户名和密码(均为huawei)
aaa
local-user huawei password cipher huawei
local-user huawei service-type ftp
local-user huawei ftp-directory flash:/
local-user huawei access-limit 200
local-user huawei idle-timeout 0 0
local-user huawei privilege level 3

查看ftp server配置信息

diskvk30184121

R2登录FTP服务器

ftpdenglu1130184259

在R1和R2上分别保存文件text1.cfg和text2.cfg,用于后续测试

R1:save text1.cfg

R2:save text2.cfg

R2上通过dir命令查看服务器上的文件

dirr2184558

R2从服务器上下载text1.cfg文件,并改名为newtext1.cfg

xiazaigaiming0184834

R2本地查看dir

r2bendichakan30184952

put把本地文件text2.cfg上传到服务器,并改名为newtext2.cfg

putnew85130

查看是否上传成功

yanzg5227

关闭ftp连接:bye