news 2026/4/16 16:17:30

什么是TACACS

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
什么是TACACS

文章目录

    • TACACS的产生背景
    • TACACS、TACACS+和HWTACACS的关系
    • HWTACACS/TACACS+与RADIUS的区别
    • HWTACACS认证、授权、计费流程



终端访问控制器控制系统TACACS(Terminal Access Controller Access-Control System),用于与UNIX网络中的身份验证服务器进行通信、决定用户是否有权限访问网络。各厂商在TACACS协议的基础上进行了扩展,例如思科公司开发的TACACS+和华为公司开发的HWTACACS。TACACS+和HWTACACS均为私有协议,在发展过程中逐步替代了原来的TACACS协议,并且不再兼容TACACS协议。


TACACS的产生背景

TACACS是一种起源于二十世纪八十年代的AAA(认证、授权、计费)协议,用于与UNIX网络中的身份验证服务器进行通信、决定用户是否有权限访问网络。

1984年,美国军事研究机构为了在MILNET中实现身份验证自动化,设计了最早的TACACS协议(RFC 927),使已经在一台主机登录的用户无需在同一网络的其他主机上重新验证身份。后来,思科公司在其网络产品中支持TACACS,最终对TACACS进行扩展(RFC 1492),扩展后的TACACS协议被称为Extended TACACS(XTACACS)。与最初的TACACS相比,XTACACS还实现了认证、授权和计费流程的相互独立,并且认证和授权可以在不同的服务器上进行,这无疑有助于管理员对用户进行精细管理和控制。

随着网络的发展,管理员对TACACS在服务器上部署的灵活性,和控制用户命令权限的灵活性都提出了更高的要求。因此,在TACACS和XTACACS的基础上,各厂商再次进行扩展,例如,华为公司开发了HWTACACS,思科公司开发了TACACS+。

TACACS、TACACS+和HWTACACS的关系

与早期的TACACS相比,HWTACACS和TACACS+主要有如下两点改进:

  • 认证、授权和计费过程都相互独立,认证和授权可以在不同的服务器上进行。这使得HWTACACS在服务器部署方面更加灵活。例如,可以用一台HWTACACS服务器A进行认证,另外一台HWTACACS服务器B进行授权。并且,授权时无需再重复进行认证的过程,仅需通知服务器B,用户已在服务器A上成功认证。
  • 支持根据用户级别对执行的每一条命令行通过服务器进行授权,只有授权通过,命令行才允许执行。因此,更便于管理员进行设备管理。

HWTACACS协议与TACACS+协议都实现了认证、授权、计费的功能。HWTACACS和TACACS+的认证流程与实现方式是一致的,HWTACACS协议能够完全兼容TACACS+协议。

不同厂商在扩展属性的字段定义和解释上存在区别。如果您需要查询属性的字段定义和解释,HWTACACS属性信息请参考华为设备的相关文档。以V600R024C00版本的华为S5700系列交换机为例,可以参考用户接入与认证配置指南中的“HWTACACS属性”。TACACS+属性信息请参考思科网站的文档“TACACS Attribute-Value Pairs”。

HWTACACS/TACACS+与RADIUS的区别

RADIUS是最常用的AAA协议,HWTACACS与其相比有很多相似的地方。例如都采用Client/Server结构,都使用密钥机制对用户信息进行加密以及都具备扩展性。

HWTACACS和TACACS+在数据传输、加密方式、认证授权和事件记录等方面与RADIUS存在差异。如下图所示。


HWTACACS/TACACS+ vs RADIUS

HWTACACS认证、授权、计费流程

下面以Telnet用户使用HWTACACS为例,说明用户进行认证、授权和计费的过程。基本消息交互流程如下图所示。


HWTACACS认证、授权、计费流程

在整个过程中的基本消息交互流程如下:

  1. Telnet用户请求登录设备。
  2. HWTACACS客户端收到请求之后,向HWTACACS服务器发送认证开始报文。
  3. HWTACACS服务器发送认证回应报文,请求用户名。
  4. HWTACACS客户端收到回应报文后,向用户询问用户名。
  5. 用户输入用户名。
  6. HWTACACS客户端收到用户名后,向HWTACACS服务器发送认证持续报文,其中包括了用户名。
  7. HWTACACS服务器发送认证回应报文,请求密码。
  8. HWTACACS客户端收到认证回应报文,向用户询问密码。
  9. 用户输入密码。
  10. HWTACACS客户端收到密码后,向HWTACACS服务器发送认证持续报文,其中包括了密码信息。
  11. HWTACACS服务器发送认证回应报文,指示用户通过认证。
  12. HWTACACS客户端向HWTACACS服务器发送授权请求报文。
  13. HWTACACS服务器发送授权回应报文,指示用户通过授权。
  14. HWTACACS客户端收到授权回应报文,向用户输出设备的配置界面。
  15. HWTACACS客户端向HWTACACS服务器发送计费开始请求报文。
  16. HWTACACS服务器发送计费开始回应报文,指示计费开始请求报文已经收到。
  17. 用户请求断开连接。
  18. HWTACACS客户端向HWTACACS服务器发送计费结束请求报文。
  19. HWTACACS服务器发送计费结束回应报文,指示计费结束请求报文已经收到。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:32:33

webUI界面全解析,科哥开发的CAM++操作更友好

webUI界面全解析,科哥开发的CAM操作更友好 1. 为什么说这个webUI让说话人识别变得简单? 你有没有试过部署一个语音识别系统,结果卡在命令行里反复调试?或者面对一堆参数配置不知从何下手?CAM说话人识别系统由科哥二次…

作者头像 李华
网站建设 2026/4/16 16:08:45

科研效率工具WebPlotDigitizer:数据提取从入门到精通

科研效率工具WebPlotDigitizer:数据提取从入门到精通 【免费下载链接】WebPlotDigitizer WebPlotDigitizer: 一个基于 Web 的工具,用于从图形图像中提取数值数据,支持 XY、极地、三角图和地图。 项目地址: https://gitcode.com/gh_mirrors/…

作者头像 李华
网站建设 2026/4/16 12:47:00

DeepSeek-R1-Distill-Qwen-1.5B社区贡献指南:二次开发流程

DeepSeek-R1-Distill-Qwen-1.5B社区贡献指南:二次开发流程 你是不是也遇到过这样的情况:手头有个轻量但能力扎实的模型,想加个新功能却卡在环境配置上?想改个提示词模板却发现文档里没写清楚怎么热更新?或者想把模型集…

作者头像 李华
网站建设 2026/4/16 11:12:22

Sunshine:突破游戏串流限制的开源方案搭建教程与性能优化实践指南

Sunshine:突破游戏串流限制的开源方案搭建教程与性能优化实践指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器,支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trendin…

作者头像 李华
网站建设 2026/4/16 11:15:51

TurboDiffusion加速原理揭秘:rCM时间步蒸馏技术实战解析

TurboDiffusion加速原理揭秘:rCM时间步蒸馏技术实战解析 1. TurboDiffusion是什么:不只是快,而是重新定义视频生成效率 TurboDiffusion不是简单地给现有模型“提速”,它是一套从底层算法到工程实现全面重构的视频生成加速框架。…

作者头像 李华
网站建设 2026/4/16 11:12:52

Qwen2.5-0.5B能在手机运行吗?ARM架构适配进展

Qwen2.5-0.5B能在手机运行吗?ARM架构适配进展 1. 小模型,大期待:为什么0.5B参数值得认真对待 很多人看到“0.5B”(5亿参数)的第一反应是:这算大模型吗?它能干啥?值不值得在手机上折…

作者头像 李华