AAA 与 FTP:网络认证授权及文件传输的原理与实践
前言
在现代网络架构中,安全的身份验证、精细的权限管控以及高效的文件传输是保障网络稳定运行与数据安全的核心要素。AAA(认证、授权、计费)作为一套完整的安全框架,通过对用户身份的验证、操作权限的分配以及资源使用的统计,构建了网络访问的全流程安全屏障,广泛应用于企业跨区域网络管理等场景。而 FTP(文件传输协议)及其相关协议,则为网络中的文件交换提供了标准化的解决方案,满足了不同场景下数据传输的需求。
本文将深入剖析 AAA 的概念、原理、功能、权限等级等内容,并详细介绍其在 Telnet 配置中的应用;同时,全面解读 FTP 的原理、与其他文件传输协议的区别、常用命令以及基础配置,帮助读者深入理解这两项网络技术,掌握其在实际网络环境中的部署与应用。
AAA 概念以及原理
前言
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,它提供了认证、授权、计费三种安全功能。AAA可以通过多种协议 来实现,目前华为设备支持基于RADIUS(RemoteAuthenticationDial-InUser Service)协议或HWTACACS( Huawei Terminal Access Controller Access ControlSystem)协议来实现AAA。
一、应用场景
AAA(认证、授权、计费)的应用场景典型体现于企业分支与总部的跨区域网络访问管理中,核心逻辑围绕“身份验证-权限管控-资源统计”的全流程管控展开:
1. 网络架构背景
企业分支用户通过本地交换机接入网络,经路由器转发后,由NAS(网络接入服务器,如图中路由器) 承接接入请求,并与企业总部的 AAA服务器 交互,最终实现对“分支用户访问总部资源(如服务器A、B)”的全生命周期管理。
2. 核心功能落地场景
- 认证(Authentication):分支用户访问总部资源前,需向AAA服务器提交身份凭证(如用户名/密码)。AAA服务器验证凭证合法性,拦截非法接入,仅允许身份合法的用户进入网络。
- 授权(Authorization):认证通过后,AAA服务器根据用户身份(如“普通员工”或“管理员”角色),分配差异化访问权限(例如:普通员工仅能访问公共服务器A,管理员可访问敏感服务器B)。
- 计费(Accounting):AAA服务器记录用户的网络资源使用细节(如上线时长、流量消耗),辅助企业核算资源成本、优化资源分配(如限制高消耗用户的带宽)。
二、 功能
(1)认证
a.AAA支持的认证方式(技术分类)
AAA协议(如RADIUS、TACACS+)定义了三种基础认证模式,覆盖不同场景需求:
1. 不认证(No Authentication)
- 逻辑:完全开放,无需校验身份,直接允许访问。
- 场景:极端信任环境(如内网测试网段、公共开放WiFi)。
- 风险:无任何安全防护,仅适用于低敏感场景。
2. 本地认证(Local Authentication)
- 逻辑:AAA设备(如路由器、交换机)自身存储用户信息(用户名、密码、权限),直接完成校验。
- 特点:配置简单、无需依赖外部服务器,但用户信息分散在设备本地,难以集中管理(如改密码需逐台设备操作)。
- 适配常见认证:
- 基础账号密码认证(设备本地存密码哈希);
- 简单令牌认证(如设备本地存门禁卡ID白名单)。
3. 远端认证(Remote Authentication)
- 逻辑:AAA设备将认证请求转发至外部服务器(如RADIUS、TACACS+、LDAP、AD域控),由服务器完成身份校验。
- 特点:支持集中化管理(用户信息统一存储在服务器)、扩展性强(可对接复杂认证技术),是企业级网络的主流选择。
- 适配常见认证(远端服务器可集成多种技术):
- 生物特征识别(服务器存储指纹/虹膜特征库,如企业考勤+网络准入联动);
- 多因素认证(服务器配置“密码+OTP+生物特征”等组合策略,如金融交易系统);
- 一次性密码(OTP)(服务器生成动态验证码,如短信/Google Authenticator);
- 数字证书认证(服务器对接CA中心,验证证书链合法性,如政务网设备双向认证);
- 单点登录(SSO)(统一认证平台,如企业内网门户,一次认证免密访问所有关联系统);
- 令牌认证(服务器存储智能卡/门禁卡ID,如校园一卡通对接网络准入)。
b. 常见认证技术与AAA的映射关系
常见认证类型 | 归属AAA认证方式 | 典型实现场景 |
---|---|---|
账号密码认证 | 本地/远端 | 本地:小网络设备登录;远端:企业AD域账号 |
生物特征(指纹/人脸) | 远端 | 企业内网准入(需服务器存特征库) |
行为认证(验证码) | 辅助手段 | 认证前防机器人攻击(如网站登录前拼图) |
多因素认证 | 远端 | 金融交易(密码+U盾+短信验证码) |
令牌(门禁卡/校园卡) | 本地/远端 | 本地:小场景门禁;远端:企业一卡通系统 |
一次性密码(OTP) | 远端 | 网银登录(动态口令牌/短信验证码) |
单点登录(SSO) | 远端 | 企业内网门户(一次认证,多系统免密) |
数字证书认证 | 远端 | 政务网/金融网(服务器验证证书链) |
(2)授权
a.AAA支持的授权方式(技术分类)
AAA协议(如RADIUS、TACACS+)定义了三种基础授权模式,适配不同场景的权限管理需求:
1. 不授权(No Authorization)
- 逻辑:完全开放权限,所有认证通过的用户拥有无限制访问权(无需额外权限校验)。
- 场景:极端信任环境(如内网测试网段、公共开放WiFi)。
- 风险:无任何权限管控,仅适用于低敏感、无资源隔离的场景。
2. 本地授权(Local Authorization)
- 逻辑:授权策略存储在AAA设备本地(如路由器、交换机),设备自身根据本地配置决定用户权限。
- 特点:配置简单(无需依赖外部服务器),但权限策略分散(改权限需逐台设备操作),适合小型网络/设备(如分支路由器的本地用户权限管理)。
- 示例:设备本地配置“用户admin允许SSH登录并配置接口,用户guest仅允许Ping测试”。
3. 远端授权(Remote Authorization)
- 逻辑:授权策略存储在外部AAA服务器(如RADIUS、TACACS+、LDAP服务器),设备将授权请求转发给服务器,由服务器返回“允许/拒绝”或“权限明细”。
- 特点:支持集中化权限管理(用户权限统一存储在服务器)、策略灵活(可动态调整权限),是企业级网络的主流选择。
- 示例:企业AD域控服务器统一管控“市场部用户仅能访问办公OA系统,研发部用户可访问代码仓库和测试服务器”。
b.常见授权维度(权限分配的“依据”)
授权维度 | 权限分配依据 | 典型划分 / 示例 | 实际案例 |
---|---|---|---|
基于角色 | 按用户职责 / 身份(角色)分配权限 | 角色类型: ・管理员(Admin,全权限) ・普通员工(Staff,业务权限) ・访客(Guest,公共资源权限) ・审计用户(Audit,只读审计权限) | 图中 “用户组 Staff” 权限级别 2(仅访问 Public 设备组); “用户组 admin” 权限级别 15(访问 Public+Private 设备组) |
基于设备 | 按目标设备 / 资源的重要性 / 敏感性(分组)分配权限 | 设备分组: ・Public(公共资源,如办公 OA) ・Private(私密资源,如财务数据库) ・DMZ(对外服务,如 Web 服务器) | 图中 “设备组 Public” 允许 Staff+admin 访问; “设备组 Private” 仅允许 admin 访问 |
基于协议 | 按网络协议类型限制权限(控制可用通信协议) | 协议管控: ・允许:SSH(安全远程管理)、HTTPS(加密网页) ・禁止 / 限制:Telnet(明文风险)、FTP(文件传输风险) | 企业禁止普通员工用 FTP 访问服务器; 仅允许管理员通过 SFTP 传输文件 |
基于位置 | 按用户物理 / 网络位置(接入点 / IP 段 / VLAN)分配权限 | 位置划分: ・办公室有线接入(高权限) ・WiFi 接入(中等权限) ・外网 VPN 接入(低权限) | 内网用户可访问财务系统; 外网 VPN 用户仅能访问邮件 + OA; 公共 WiFi 用户无法访问内网资源 |
基于时间 | 按时间窗口(时段 / 节假日)限制权限 | 时间策略: ・开放时段:工作日 09:00-18:00 ・限制时段:节假日、下班时间 | 图中 “admin 用户仅 09:00-12:00 可访问 Private 设备组”; “Staff 用户仅 09:00-18:00 可访问 Public 设备组” |
(3)计费
a.AAA协议定义的核心计费方式
- 不计费:完全不记录资源使用,适用于内部信任网络(如企业内网,仅审计无需计费)。
- 远端计费:计费数据统一发送至外部AAA服务器(如RADIUS/TACACS+服务器)存储、分析,支持集中化管理(企业/运营商的主流选择,便于统计多用户/多设备的资源消耗)。
三、AAA 域
四、AAA 中的权限等级
等级 | 说明 |
---|---|
0级 | 最低等级,仅拥有基础命令权限(如ping),权限范围极窄。 |
1-2级 | 允许使用部分基本命令,但存在明确限制(如无法执行配置类操作),适用于基础状态查看场景。 |
3-14级 | 自定义权限区间,可根据业务需求(如岗位角色、操作场景)灵活配置具体命令权限,是权限精细化管理的核心。 |
15级 | 最高权限等级,拥有系统级控制权,可进入系统视图进行全局配置、参数修改等核心操作,需严格管控,通常仅赋予管理员等关键角色。 |
五、总结
ARG3系列路由器的AAA方案与默认域规则
(1)支持的AAA认证方案
ARG3系列路由器支持以下三种AAA认证方案,覆盖不同规模与安全需求的网络场景:
- 本地认证
- 认证、授权、计费信息(如用户名、密码)直接存储在路由器本地。
- 特点:配置简单,无需依赖外部服务器,适合小型网络或分支设备的独立管理。
- RADIUS认证
- 通过RADIUS协议与远端RADIUS服务器通信,需配置服务器的IP地址、共享密钥等参数。
- 特点:支持大规模用户的集中管理,常用于企业级网络的统一身份认证。
- TACACS+认证
- 基于TACACS+协议对接远端服务器,需设置服务器通信参数(如地址、密钥)。
- 特点:权限控制更精细(支持按命令级别授权),适用于对管理员权限分级的场景。
(2)用户默认域规则
若在ARG3系列路由器上创建用户时未显式关联自定义域,该用户将自动归属到 “local”域(即设备内置的默认域),并继承local
域的认证、授权、计费策略。
六、AAA 的应用以及配置 Telnet
(1)应用场景
认证模式 | 描述 |
---|---|
AAA | AAA 模式 |
password | 登录时只通过输入密码实现认证 |
(2)Telnet
网络协议运行在 23 端口
传输不加密,用的明文容易被中间人劫持攻击,会导致数据泄露和密码被抓取
(3)AAA 在 Telnet 中的应用
a.基础认证下的登录
一、基础网络连通性配置
- AR3:GE 0/0/0 接口配置 IP 192.168.0.1/24
- AR4:GE 0/0/0 接口配置 IP 192.168.0.10/24
- 同网段无需路由,跨网段配置静态/动态路由
二、Telnet 服务端(AR4)配置
- 启用 Telnet 服务:
telnet server enable
- 创建 AAA 认证方案:
authentication-scheme auth_scheme
,认证方式local
- 创建本地用户:
local-user test
,密码加密,服务类型telnet
- VTY 线路配置:
user-interface vty 0 4
,认证模式aaa
三、Telnet 客户端(AR3)配置
- 发起连接:
telnet 192.168.0.10
- 输入用户名
test
和密码完成认证
1.配置 Telnet_clinet 的 GE0/0/0,以及测试连通性
# Telent_clinet
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname Telent_client
[Telent_client]int g0/0/0
[Telent_client-GigabitEthernet0/0/0]ip address 192.168.0.1 24
[Telent_client]ping 192.168.0.10
PING 192.168.0.10: 56 data bytes, press CTRL_C to break
Reply from 192.168.0.10: bytes=56 Sequence=1 ttl=255 time=50 ms
Reply from 192.168.0.10: bytes=56 Sequence=2 ttl=255 time=60 ms
Reply from 192.168.0.10: bytes=56 Sequence=3 ttl=255 time=40 ms
Reply from 192.168.0.10: bytes=56 Sequence=4 ttl=255 time=60 ms
Reply from 192.168.0.10: bytes=56 Sequence=5 ttl=255 time=40 ms
--- 192.168.0.10 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 40/50/60 ms
Telent_server
2.配置 Telnet_server 的 GE0/0/0,以及测试连通性
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname server
[server]sysname Telent_server
[Telent_server]int g0/0/0
[Telent_server-GigabitEthernet0/0/0]ip address 192.168.0.10 24
[Telent_server-GigabitEthernet0/0/0]ping 192.168.0.1
PING 192.168.0.1: 56 data bytes, press CTRL_C to break
Reply from 192.168.0.1: bytes=56 Sequence=1 ttl=255 time=210 ms
Reply from 192.168.0.1: bytes=56 Sequence=2 ttl=255 time=70 ms
Reply from 192.168.0.1: bytes=56 Sequence=3 ttl=255 time=60 ms
Reply from 192.168.0.1: bytes=56 Sequence=4 ttl=255 time=60 ms
Reply from 192.168.0.1: bytes=56 Sequence=5 ttl=255 time=20 ms
--- 192.168.0.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
3.在 Telnet_server 上设置密码
[Telent_server-GigabitEthernet0/0/0]quit
[Telent_server]user-interface vty 0 4
[Telent_server-ui-vty0-4]authentication-mode password #方法1
Please configure the login password (maximum length 16):admin
[Telenet_server-ui-vty0-4]set authentication password cipher admin #方法2
4.使用telnet登录服务器
[Telent_client]quit
<Telent_client>telnet 192.168.0.10
Press CTRL_] to quit telnet mode
Trying 192.168.0.10 ...
Connected to 192.168.0.10 ...
Login authentication
Password:
<Telent_server>
5.设置在 aaa下的登录环境
[Telent_server-ui-vty0-4]quit
[Telent_server]aaa
[Telent_server-aaa]local-user test password cipher admin
Info: Add a new user.
[Telent_server-aaa]local-user test service-type telnet
[Telent_server-aaa]local-user test privilege level 0
[Telent_server-aaa]quit
[Telent_server]user-interface vty 0 4
[Telent_server-ui-vty0-4]authentication-mode aaa
[Telent_server-ui-vty0-4]dis this
[V200R003C00]
#
user-interface con 0
authentication-mode password
user-interface vty 0 4
authentication-mode aaa
user-interface vty 16 20
#
return
[Telent_server-ui-vty0-4]
6.在 Telnet 上通过 aaa 进行登录
<Telent_client>telnet 192.168.0.10
Press CTRL_] to quit telnet mode
Trying 192.168.0.10 ...
Connected to 192.168.0.10 ...
Login authentication
Username:test
Password:
<Telent_server>
b.扩展:在AAA中创建域,并关联相应用户
# 进入系统视图
<Huawei> system-view
[Huawei]
# 启用AAA功能
[Huawei] aaa
# 创建新的认证域,名为"corp-users"
[Huawei-aaa] domain corp-users
# 配置域的认证方法为本地数据库
[Huawei-aaa-domain-corp-users] authentication-scheme local_auth
# 配置域的授权方法为本地数据库
[Huawei-aaa-domain-corp-users] authorization-scheme local_auth
# 配置域的计费方法为不计费
[Huawei-aaa-domain-corp-users] accounting-scheme none
# 返回到AAA视图
[Huawei-aaa-domain-corp-users] quit
# 创建本地用户,用户名为"user01",密码为"Password123"
[Huawei-aaa] local-user user01 password irreversible-cipher Password123
# 设置用户服务类型为SSH
[Huawei-aaa] local-user user01 service-type ssh
# 设置用户权限级别为3(管理员权限)
[Huawei-aaa] local-user user01 privilege level 3
# 将用户关联到之前创建的"corp-users"域
[Huawei-aaa] local-user user01 domain corp-users
# 配置SSH服务以使用AAA认证
[Huawei] ssh user user01 authentication-type password
# 保存配置
[Huawei] save
# 查看AAA域配置
[Huawei] display aaa domain
# 查看本地用户列表
[Huawei] display local-user
# 验证用户与域的关联
[Huawei] display local-user user01
如果网络设备已经配置完成Telnet服务,但是用户仍然不能实现远程访问, 原因可能是什么?
●如果无法建立Telnet连接,首先验证设备是否可达。
●如果设备可达,再检查用户输入的密码是否正确。
●如果密码正确,再查看当前通过Telnet访问设备的用户数是否达到最大限制。
FTP 原理与配置
FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证 数据传输的可靠性和高效性。
一、常见的文件传输协议
FTP文件传输协议(21****):FTP是用来传送文件的协议。FTP 在 TCP/IP 网络中工作,使用 明文 进行文件
传输,适用于不涉及敏感数据的文件共享和传输。
TFTP文件传输协议(69****):简单的文件传输协议,主要用于在客户端与服务器之间传输文件。使用UDP
协议,仅支持上传和下载。
SFTP是一种安全的文件传输协议(22****):基于 SSH 协议,为数据传输提供加密和安全性保障。SFTP 是
传统 FTP 协议的安全替代方案,主要用于在客户端和服务器之间安全地传输文件。
渗透测试、远程管理
二、 FTP、FTPS、TFTP、SFTP 的区别
特性 | FTP | FTPS | TFTP | SFTP |
---|---|---|---|---|
协议 | TCP(明文传输) | TCP(加密传输) | UDP(无加密) | SSH(加密传输) |
端口 | 21(控制端口)+20(数据端口) | 21/990 | 69 | 22(SSH 端口) |
安全性 | 无加密,易被窃听 | 通过 SSL/TLS 加密 | 不安全,无加密 | 基于 SSH,全面加密 |
身份认证 | 用户名 / 密码 | SSL/TLS 证书 + 用户认证 | 无需认证或简单的用户名验证 | 用户名 / 密码、公钥认证 |
适用场景 | 内部环境简单传输 | 需要 SSL/TLS 支持的传输 | 轻量级文件传输,简单场景 | 适合高安全性要求的文件传输 |
FTPS:
- 显式 FTPS(Explicit FTPS):
- 控制端口:21(与 FTP 相同,但通过
AUTH TLS
命令协商加密)。- 数据端口:
- 主动模式:理论上使用 20 端口,但实际中很少用;
- 被动模式:服务器动态分配高端口(如 40000-65535),客户端通过控制端口协商后连接。
- 隐式 FTPS(Implicit FTPS):
- 控制端口:990(强制立即启用 SSL/TLS 加密)。
- 数据端口:989(默认,可配置)。
三、常用 FTP 命令列表
(1)基础命令
命令 | 功能描述 |
---|---|
USER <用户名> |
登录时输入用户名(用于身份验证)。 |
PASS <密码> |
登录时输入密码(需紧跟在USER 命令后)。 |
QUIT |
断开与FTP服务器的连接(退出会话)。 |
HELP [命令] |
显示FTP命令帮助信息(可指定具体命令查看详情)。 |
(2)文件操作命令
命令 | 功能描述 |
---|---|
RETR <文件名> |
从服务器下载文件到本地(RETRIEVE 的缩写)。 |
STOR <文件名> |
上传本地文件到服务器(STORE 的缩写)。 |
DELE <文件名> |
删除服务器上的文件(DELETE 的缩写)。 |
RNFR <旧文件名> |
重命名文件的第一步:指定原文件名(RENAME FROM )。 |
RNTO <新文件名> |
重命名文件的第二步:指定新文件名(RENAME TO )。 |
SIZE <文件名> |
查询服务器上文件的大小(部分服务器支持)。 |
MD5 <文件名> |
获取文件的MD5校验值(部分服务器支持,用于验证文件完整性)。 |
(3) 目录操作命令
命令 | 功能描述 |
---|---|
PWD |
显示当前服务器工作目录(PRINT WORKING DIRECTORY )。 |
CWD <目录名> |
切换服务器当前目录(CHANGE WORKING DIRECTORY )。 |
CDUP |
切换到上级目录(CHANGE TO PARENT DIRECTORY )。 |
MKD <目录名> |
在服务器上创建新目录(MAKE DIRECTORY )。 |
RMD <目录名> |
删除服务器上的空目录(REMOVE DIRECTORY )。 |
LIST [目录] |
列出服务器指定目录的文件列表(简单格式)。 |
NLST [目录] |
列出服务器指定目录的文件名称(仅文件名,无详细信息)。 |
DIR [目录] |
列出服务器指定目录的详细文件列表(类似Linux的ls -l )。 |
(4)连接管理命令
命令 | 功能描述 |
---|---|
PORT <主机端口> |
设置主动模式传输(指定客户端IP和端口,已逐渐被被动模式取代)。 |
PASV |
启用被动模式传输(服务器动态分配数据端口,更安全,现代FTP默认模式)。 |
TYPE <类型> |
设置文件传输类型: - A :ASCII文本模式(默认) - I :二进制模式(用于传输程序、图片等)。 |
MODE <模式> |
设置传输模式(如S 表示流模式,现代FTP通常仅支持流模式)。 |
STRU <结构> |
设置文件结构(如F 表示文件结构,现代FTP默认)。 |
(5)其他辅助命令
命令 | 功能描述 |
---|---|
SYST |
查询服务器系统类型(如UNIX、Windows等)。 |
STAT |
显示服务器状态信息(如当前目录、连接数等)。 |
NOOP |
空操作(用于保持连接活跃,防止超时断开)。 |
SITE <参数> |
执行特定于服务器的扩展命令(如SITE CHMOD 修改文件权限)。 |
(6)使用示例
以下是一个简单的FTP会话示例,演示常用命令的使用:
ftp> open ftp.example.com # 连接服务器
Connected to ftp.example.com.
220 Welcome to FTP server.
ftp> user admin # 输入用户名
331 Password required for admin.
ftp> pass ******** # 输入密码(实际不可见)
230 User logged in, proceed.
ftp> pwd # 查看当前目录
257 "/home/admin" is the current directory.
ftp> dir # 查看目录内容
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxr-xr-x 2 admin users 4096 Sep 10 2023 docs
-rw-r--r-- 1 admin users 10240 Jun 15 2023 report.pdf
226 Transfer complete.
ftp> get report.pdf # 下载文件
200 PORT command successful.
150 Opening BINARY mode data connection for report.pdf.
226 Transfer complete.
ftp> put local_file.txt # 上传文件
200 PORT command successful.
150 Ok to send data.
226 Transfer complete.
ftp> quit # 退出会话
221 Goodbye.
注意事项
- 区分大小写:FTP命令通常不区分大小写(如
GET
和get
等效),但文件名和目录名可能区分(取决于服务器配置)。- 传输模式选择:
- 传输文本文件(如
.txt
、.html
)建议使用TYPE A
(ASCII模式)。- 传输二进制文件(如图片、程序)必须使用
TYPE I
(二进制模式),否则可能导致文件损坏。- 被动模式(PASV):现代FTP客户端默认使用被动模式,避免了防火墙问题,建议优先使用。
- 安全替代方案:若需加密传输,建议使用FTPS(FTP over SSL/TLS)或SFTP(SSH File Transfer Protocol)。
四、基础配置
一、基础网络配置
- AR1 配置:GE 0/0/0 接口设 IP 192.168.1.2/24
- AR2 配置:GE 0/0/0 接口设 IP 192.168.1.3/24
- 确保网络互通(同网段直连,无需复杂路由 )
二、FTP 服务器(AR2 )配置
- 开启 FTP 服务:
ftp server enable
- 创建本地用户:
aaa
→local-user ftp_user password 密码
→service-type ftp
- 配置 FTP 目录:指定用户可访问的 FTP 根目录,如
ftp user-directory
关联路径三、FTP 客户端(AR1 )配置
- 发起 FTP 连接:
ftp 192.168.1.3
- 输入用户名
ftp_user
和密码完成登录
1.配置 FTP_clinet 的 g0/0/0 端口并测试连通性
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname FTP_client
[FTP_client]int g0/0/0
[FTP_client-GigabitEthernet0/0/0]ip address 192.168.1.2 24
[FTP_client-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 192.168.1.2 255.255.255.0
#
return
[FTP_client-GigabitEthernet0/0/0]ip address 192.168.1.2 24
[FTP_client-GigabitEthernet0/0/0ping 192.168.1.3
PING 192.168.1.3: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.3: bytes=56 Sequence=1 ttl=255 time=110 ms
Reply from 192.168.1.3: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 192.168.1.3: bytes=56 Sequence=3 ttl=255 time=30 ms
Reply from 192.168.1.3: bytes=56 Sequence=4 ttl=255 time=20 ms
Reply from 192.168.1.3: bytes=56 Sequence=5 ttl=255 time=30 ms
--- 192.168.1.3 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/44/110 ms
2.配置 FTP_server 的 g0/0/0 端口并测试连通性
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname FTP_server
[FTP_server]
[FTP_server]int g0/0/0
[FTP_server-GigabitEthernet0/0/0]ip address 192.168.1.3 24
[FTP_server-GigabitEthernet0/0/0]dis this
[V200R003C00]
#
interface GigabitEthernet0/0/0
ip address 192.168.1.3 255.255.255.0
#
return
[FTP_server]ping 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=255 time=170 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=255 time=120 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=255 time=90 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=255 time=110 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=255 time=90 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 90/116/170 ms
3.在 FTP_server 上设置 aaa 登录并创建用户
[FTP_server]ftp server enable
Info: Succeeded in starting the FTP server
[FTP_server]set default ftp-directory flash:/
[FTP_server]aaa
[FTP_server-aaa]local-user ftpuser password cipher admin
Info: Add a new user.
[FTP_server-aaa]local ftpuser service-type ftp
[FTP_server-aaa]local-user ftpuser ftp-directory flash:/
[FTP_server-aaa]local-user ftpuser access-limit 200 #限制最高并发为200
[FTP_server-aaa]local-user ftpuser idle-timeout 0 0 #关闭超时断连
[FTP_server-aaa]local-user ftpuser privilege level 3
[FTP_server-aaa]dis this
[V200R003C00]
#
aaa
authentication-scheme default
authorization-scheme default
accounting-scheme default
domain default
domain default_admin
local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$
local-user admin service-type http
local-user ftpuser password cipher %$%$|^G{Tg!h(0>("]"I7.!~mlfj%$%$ idle-timeou
t 0 0 access-limit 200
local-user ftpuser privilege level 3
local-user ftpuser ftp-directory flash:/
local-user ftpuser service-type ftp
#
return
4.在 FTP_clinet 上通过 aaa 登录
<FTP_client>ftp 192.168.1.3
Trying 192.168.1.3 ...
Press CTRL+K to abort
Connected to 192.168.1.3.
220 FTP service ready.
User(192.168.1.3:(none)):ftpuser
331 Password required for ftpuser.
Enter password:
230 User logged in.
[FTP_client-ftp]binary
200 Type set to I.
[FTP_client-ftp]get 1.txt #从服务器上获取文件
[FTP_client-ftp]put vrpcfg.zip #上传文件到服务器
200 Port command okay.
150 Opening ASCII mode data connection for vrpcfg.zip.
100%
226 Transfer complete.
FTP: 595 byte(s) sent in 0.120 second(s) 4.95Kbyte(s)/sec.
五、应用场景
六、传输过程
(1) 建立控制连接(端口21)
客户端的控制进程主动发起连接,目标是服务器的21号端口(控制端口)。
- 控制连接的作用:传输控制指令(如登录认证、上传/下载命令)和响应信息,贯穿整个FTP会话(直到用户主动退出)。
(2) 用户操作与指令传输
用户通过客户端的用户接口(如FTP客户端软件界面)输入操作(如“上传文件”“下载文件”),客户端的控制进程将操作转换为FTP指令(如STOR
表示上传、RETR
表示下载),并通过控制连接发送给服务器的控制进程。
(3)建立数据连接(端口20,或临时端口)
当需要传输文件数据时,客户端与服务器会建立数据连接(传输实际文件内容的通道):
- 主动模式(PORT):服务器的20号端口主动发起数据连接,连接到客户端的数据传输进程;
- 被动模式(PASV):服务器开放一个临时端口,客户端主动连接该端口建立数据连接。
(4)数据传输(文件内容交互)
数据连接建立后,数据传输进程与文件系统交互,完成文件内容传输:
- 客户端数据传输进程:与本地文件系统交互(上传时“读取本地文件”,下载时“写入本地文件”);
- 服务器数据传输进程:与服务器端文件系统交互(上传时“写入服务器文件”,下载时“读取服务器文件”);
- 双方通过数据连接传输文件字节流(如上传时,客户端→服务器;下载时,服务器→客户端)。
(5)会话终止
- 数据传输完成后,数据连接立即关闭;
- 若用户未主动退出,控制连接会保持打开(可继续发送新指令);
- 当用户明确退出(如输入
QUIT
指令),控制连接关闭,整个FTP会话结束。
结语
AAA 框架与 FTP 协议在网络世界中扮演着至关重要的角色。AAA 通过认证确保了访问者的身份合法性,通过授权实现了资源访问的精细化管控,通过计费为资源分配与成本核算提供了依据,为网络安全筑起了坚实的防线,尤其在企业级网络的集中化管理中发挥着不可替代的作用。
而 FTP 及其衍生协议,则为文件的远程传输提供了多样化的选择,从基础的 FTP 到注重安全的 FTPS、SFTP,满足了不同场景下对文件传输效率与安全性的需求。掌握 FTP 的命令与配置方法,能够有效提升网络中数据交换的便捷性与可靠性。
深入理解并灵活运用 AAA 与 FTP 技术,对于构建安全、高效、可管理的网络环境具有重要意义。随着网络技术的不断发展,这两项技术也在持续演进,未来将在更广泛的场景中发挥作用,为网络的稳定运行与数据的安全交互提供有力支撑。