第133篇:RADIUS 与 HWTACACS 协议原理

关键词

RADIUS、HWTACACS、TACACS+、AAA 协议、认证、授权、计费


一、RADIUS 协议

1.1 RADIUS 概述

RADIUS(Remote Authentication Dial-In User Service,RFC 2865/2866)是最广泛使用的 AAA 协议。

特性 说明
传输层 UDP(认证 1812,计费 1813)
报文格式 定长头部 + 变长属性
加密 仅密码加密(MD5),其他属性明文
用途 网络接入认证(802.1X、PPPoE、VPN)

1.2 RADIUS 报文交互

    NAS(交换机)                 RADIUS 服务器
        │                             │
        │   Access-Request            │
        │   (用户名/密码/属性)         │
        │───────────────────────────►│
        │                             │
        │   Access-Accept             │
        │   (授权属性/VLAN/ACL)       │
        │◄───────────────────────────│
        │   或                        │
        │   Access-Reject             │
        │   (认证失败原因)             │
        │◄───────────────────────────│
        │   或                        │
        │   Access-Challenge          │
        │   (二次验证/EAP 协商)        │
        │◄───────────────────────────│
        │                             │
        │   Accounting-Request        │
        │   (开始计费)                 │
        │───────────────────────────►│
        │   Accounting-Response       │
        │◄───────────────────────────│

1.3 RADIUS 报文格式

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Code      |  Identifier   |            Length             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                         Authenticator                         |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Attributes ...
+-+-+-+-+-+-+-+-+-+-+-+-+
Code 报文类型
1 Access-Request
2 Access-Accept
3 Access-Reject
4 Accounting-Request
5 Accounting-Response
11 Access-Challenge

1.4 RADIUS 属性(AVP)

属性号 名称 说明
1 User-Name 用户名
2 User-Password 密码(MD5 加密)
4 NAS-IP-Address 认证设备的 IP
5 NAS-Port 端口号
6 Service-Type 服务类型
7 Framed-Protocol 帧协议
8 Framed-IP-Address 分配的 IP
27 Session-Timeout 会话超时
64 Tunnel-Type 隧道类型(VLAN 分配)
81 Tunnel-Private-Group-ID VLAN ID(用于授权 VLAN)

二、HWTACACS

2.1 HWTACACS 概述

HWTACACS(华为 Terminal Access Controller Access Control System)是基于思科 TACACS+ 的增强版 AAA 协议。

特性 说明
传输层 TCP(49)
加密 整个报文全部加密
认证/授权/计费 分离(三个独立服务)
用途 设备管理认证(SSH/Console)

2.2 RADIUS vs HWTACACS

对比项 RADIUS HWTACACS/TACACS+
传输层 UDP TCP
加密范围 仅密码 整个报文
认证/授权 合并 分离
计费 支持 支持
适用场景 用户接入认证 设备管理认证
厂商支持 通用 华为/思科

三、RADIUS 配置回顾

# ===== RADIUS 模板(用于用户接入)=====
radius-server template CAMPUS
 radius-server shared-key cipher Radius@2024
 radius-server authentication 10.254.100.100 1812
 radius-server accounting 10.254.100.100 1813
 radius-server retransmit 3
 radius-server timeout 5
 radius-server source-ip 10.254.1.1

四、HWTACACS 配置

# ===== HWTACACS 模板(用于设备管理)=====
hwtacacs-server template ADMIN
 hwtacacs-server shared-key cipher TACACS@2024
 hwtacacs-server authentication 10.254.100.200 49
 hwtacacs-server authorization 10.254.100.200 49
 hwtacacs-server accounting 10.254.100.200 49
 hwtacacs-server source-ip 10.254.1.1

# ===== AAA 认证方案 =====
aaa
 authentication-scheme ADMIN_AUTH
  authentication-mode hwtacacs local    # HWTACACS 优先,本地备选
 authorization-scheme ADMIN_AUTH
  authorization-mode hwtacacs local
 accounting-scheme ADMIN_AUTH
  accounting-mode hwtacacs

 domain ADMIN
  authentication-scheme ADMIN_AUTH
  authorization-scheme ADMIN_AUTH
  accounting-scheme ADMIN_AUTH
  hwtacacs-server ADMIN

# ===== 应用到登录 =====
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound ssh

五、RADIUS 和 HWTACACS 的角色分工

5.1 典型部署

         用户接入认证               设备管理认证
             │                          │
             │    RADIUS                │   HWTACACS
             │                          │
             ▼                          ▼
RADIUS 服务器 192.168.1.100 端口 1812/13 TACACS 服务器 192.168.1.200 端口 49
│ │
802.1X/MAC 用户接入 SSH/Console 设备管理
--- --- ---
业务 协议 认证方式 安全要求
用户接入(802.1X/PPPoE) RADIUS EAP/密码 中(仅密码加密)
设备管理(SSH/Console) HWTACACS 完整加密 高(全报文加密)

5.2 组合部署建议

# 同一个 AAA 域可以同时配置 RADIUS 和 HWTACACS
# 但实际场景通常分开管理

# 域 CAMPUS:用户接入 → RADIUS
domain CAMPUS
 authentication-scheme CAMPUS_AUTH
 radius-server CAMPUS

# 域 ADMIN:设备管理 → HWTACACS
domain ADMIN
 authentication-scheme ADMIN_AUTH
 hwtacacs-server ADMIN

六、排错

# RADIUS 状态
display radius-server template CAMPUS

# HWTACACS 状态
display hwtacacs-server template ADMIN

# 测试 RADIUS 认证
test-aaa user zhangsan password 123 radius-template CAMPUS

# 查看 AAA 日志
display aaa online-fail-record

七、总结

知识点 RADIUS HWTACACS
传输 UDP 1812/1813 TCP 49
加密 仅密码 全报文
认证/授权 合并 分离
适用 用户接入认证 设备管理认证
标准 RFC 标准 华为/思科私有

八、思考

  1. RADIUS 和 HWTACACS 在传输层协议上的区别是什么?
  2. 为什么 RADIUS 仅加密密码,而 HWTACACS 加密整个报文?
  3. 什么场景应该使用 RADIUS?什么场景应该使用 HWTACACS?
  4. RADIUS 的 Access-Challenge 报文的作用是什么?
  5. 在一个网络中能否同时使用 RADIUS 和 HWTACACS?如果可以,如何区分?

下篇预告:第134篇《访客网络与员工网络隔离方案》——讲解企业园区网中访客和员工如何安全隔离,包括独立的 SSID、VLAN 隔离、Portal 认证等。