第132篇:园区网 AAA 认证——802.1X 与 MAC 认证
关键词
AAA、802.1X、MAC 认证、RADIUS、准入控制、EAP、RADIUS
一、为什么需要准入控制?
1.1 传统网络的痛点
在企业网络中,任何人只要把网线插到交换机端口上,就可以直接接入网络:
传统接入:
PC 插入网线 ──► DHCP 获取 IP ──► 直接访问内部资源
任何人都可以接入,没有身份验证!
1.2 AAA 的解决方案
AAA = Authentication(认证)+ Authorization(授权)+ Accounting(计费)
接入认证流程:
PC 插入网线 ──► 未认证 ──► 只能发认证报文
│
通过 802.1X/MAC 认证
│
认证通过 ──► 端口/ VLAN 授权 ──► 正常上网
│
计费开始 ──► 记录上线时间、流量
二、802.1X 认证
2.1 802.1X 的组件
| 组件 | 角色 | 设备 |
|---|---|---|
| Supplicant | 客户端 | PC 上的 802.1X 客户端软件 |
| Authenticator | 认证设备 | 交换机/AP(控制端口访问) |
| Authentication Server | 认证服务器 | RADIUS 服务器 |
Supplicant Authenticator Auth Server
(PC) (交换机) (RADIUS)
│ │ │
│ EAPoL Start │ │
│──────────────────►│ │
│ │ │
│ EAP Request/ID │ │
│◄──────────────────│ │
│ │ │
│ EAP Response/ID │ RADIUS Access-Request │
│──────────────────►│───────────────────────►│
│ │ │
│ │ RADIUS Challenge │
│ EAP Request/MD5 │◄───────────────────────│
│◄──────────────────│ │
│ │ │
│ EAP Response/MD5 │ RADIUS Access-Request │
│──────────────────►│───────────────────────►│
│ │ │
│ │ RADIUS Accept │
│ EAP Success │◄───────────────────────│
│◄──────────────────│ │
│ │ │
│ 端口开放 │ │
2.2 802.1X 认证方式
| 认证方式 | 密码传输 | 安全性 | 说明 |
|---|---|---|---|
| EAP-MD5 | 明文 | 低 | 简单,不安全 |
| EAP-PEAP | TLS 隧道 | 高 | 最常用(Windows 内置) |
| EAP-TLS | 证书 | 最高 | 需要 PKI 基础设施 |
| EAP-TTLS | 隧道 | 高 | 类似 PEAP |
三、MAC 认证
3.1 MAC 认证的原理
MAC 认证使用终端的 MAC 地址作为用户名和密码:
1. 终端接入,交换机检测到新的 MAC 地址
2. 交换机将 MAC 地址发送给 RADIUS 服务器(作为用户名和密码)
3. RADIUS 检查 MAC 地址是否在白名单中
4. 通过 → 开放端口
3.2 MAC 认证 vs 802.1X
| 对比项 | 802.1X | MAC 认证 |
|---|---|---|
| 客户端 | 需要 802.1X 客户端 | 无需客户端 |
| 用户体验 | 需要输用户名密码 | 无感接入 |
| 安全性 | 高 | 低(MAC 可伪造) |
| 适用 | 员工办公 PC | 打印机/IP 电话/IoT |
| 管理 | 每个用户管理 | MAC 白名单管理 |
3.3 MAC 认证旁路(MAC-Auth Bypass)
常见策略:802.1X 优先,如果终端不支持 802.1X 则回退到 MAC 认证:
终端接入 ──► 尝试 802.1X
│
┌────┴────┐
│ │
802.1X 成功 EAPoL 超时
│ │
正常上网 尝试 MAC 认证
│
┌────┴────┐
│ │
MAC 成功 MAC 失败
│ │
正常上网 受限访问
四、华为 802.1X + MAC 认证配置
4.1 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
4.2 802.1X 配置
# ===== 全局启用 802.1X =====
dot1x enable
# ===== AAA 方案 =====
aaa
authentication-scheme CAMPUS_AUTH
authentication-mode radius
authorization-scheme CAMPUS_AUTH
authorization-mode radius
accounting-scheme CAMPUS_ACC
accounting-mode radius
# ===== 域配置 =====
domain CAMPUS
authentication-scheme CAMPUS_AUTH
authorization-scheme CAMPUS_AUTH
accounting-scheme CAMPUS_ACC
radius-server CAMPUS
# ===== 接口启用 802.1X =====
interface GigabitEthernet0/0/1
dot1x enable
dot1x authentication-method eap
4.3 MAC 认证配置
# ===== MAC 认证全局 =====
mac-authen
# ===== 接口启用 MAC 认证(802.1X 失败后回退)=====
interface GigabitEthernet0/0/1
mac-authen
mac-authen domain CAMPUS
authentication dot1x mac-authen # 802.1X 优先,失败后 MAC 认证
4.4 Guest VLAN
如果认证失败,可以将终端放入 Guest VLAN(仅能访问互联网,不能访问内网):
interface GigabitEthernet0/0/1
dot1x guest-vlan 999 # 认证失败的终端放入 VLAN 999
五、认证上线日志
# 查看在线用户
display access-user
-----------------------------------------------
User ID Username MAC VLAN IP
1 zhangsan xxxx-xxxx-xxxx 10 192.168.10.101
2 printer_001 yyyy-yyyy-yyyy 20 192.168.20.200
# 查看认证失败日志
display aaa abnormal-offline-record
六、排错
| 问题 | 原因 | 排查 |
|---|---|---|
| 802.1X 认证超时 | RADIUS 不可达 | ping RADIUS 服务器 IP |
| MAC 认证失败 | MAC 不在白名单 | 检查 RADIUS 服务器配置 |
| 反复认证 | EAP 协商失败 | display dot1x 查看状态 |
| 不能获取 IP | Guest VLAN 没有 DHCP | 检查 VLAN 配置 |
# 调试 802.1X
debugging dot1x all
# 显示 802.1X 状态
display dot1x interface GigabitEthernet0/0/1
七、总结
| 知识点 | 核心要点 |
|---|---|
| AAA | 认证 + 授权 + 计费 |
| 802.1X | 基于端口的网络准入控制 |
| EAP | 802.1X 的认证协议框架 |
| MAC 认证 | 基于 MAC 地址的无感认证 |
| Guest VLAN | 认证失败的受限访问 |
| 最佳实践 | 802.1X 优先 + MAC 认证旁路 |
八、思考
- 802.1X 的三个组件分别是什么?
- MAC 认证和 802.1X 各有什么优缺点?
- 什么是 MAC 认证旁路?在什么场景下需要?
- Guest VLAN 的作用是什么?
- 如果 802.1X 认证服务器的 IP 配置错误,会有什么表现?
下篇预告:第133篇《RADIUS 与 HWTACACS 协议原理》——对比两种主流 AAA 协议的异同,包括报文交互方式、加密机制和适用场景。