第132篇:园区网 AAA 认证:802.1X 与 MAC 认证
关键词:AAA 认证、802.1X、MAC 认证、PortBased、RADIUS、接入控制、华为 Agile Controller、端口安全
一、引言
QoS 解决了流量的优先级和带宽分配问题,但在此之前,网络首先要回答另一个基本问题:谁可以接入网络?
在开放式园区网中,任何人将网线插入墙面板的 RJ45 接口,或者连接到 Wi-Fi,就可以访问内部系统。这不仅带来安全风险(非法设备接入、数据泄露),还会导致网络资源被滥用(私自接入交换机形成环路、占用大量带宽下载等)。
802.1X 认证和 MAC 认证是园区网中最常用的两种接入控制技术。它们基于 IEEE 802.1X 标准和 MAC 地址识别,在端口或 VLAN 级别实施接入控制,确保只有授权用户和设备才能访问网络资源。
二、核心概念
2.1 AAA 框架

| 阶段 | 说明 | 示例 |
|---|---|---|
| Authentication | 验证用户身份(用户名/密码/证书) | 输入用户名密码,服务器比对 |
| Authorization | 授予访问权限(可访问的 VLAN、带宽上限、ACL) | 分配到 HR-VLAN,限速 100Mbps |
| Accounting | 记录用户行为(上线/下线时间、流量统计) | 审计日志,按月出账 |
2.2 802.1X 认证原理
802.1X 定义了基于端口的网络访问控制标准,核心流程:

2.3 802.1X 与 MAC 认证对比
| 特性 | 802.1X(PortBased) | MAC 认证 |
|---|---|---|
| 认证依据 | 用户名/密码 或 数字证书 | 设备 MAC 地址 |
| 客户端要求 | 需要 802.1X 客户端软件 | 无需客户端,即插即用 |
| 适用终端 | PC、手机、平板等智能终端 | 打印机、IP 电话、摄像头、IoT |
| 安全性 | 高(支持密码/证书/双因素) | 中(MAC 地址可伪造) |
| 用户粒度 | 按用户认证(换终端仍可用) | 按设备认证(绑定设备) |
| 漫游支持 | 支持(PMK 缓存、快速重认证) | 有限支持 |
三、技术细节
3.1 802.1X 端口模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| Port-Based(端口模式) | 端口上第一个认证成功则整个端口开放 | 直接连接 PC 的端口 |
| MAC-Based(MAC 地址模式) | 端口上每个 MAC 地址独立认证 | 端口下挂集线器或多设备 |
| Hybrid(混合模式) | 同时支持端口模式和 MAC 模式 | 通用接入端口 |
3.2 MAC 认证流程
MAC 认证是 802.1X 的补充,用于不支持 802.1X 客户端的设备:

3.3 认证失败后的处理策略
| 策略 | 说明 | 适用场景 |
|---|---|---|
| 端口关闭 | 端口保持 Closed,任何业务流量被丢弃 | 高安全环境 |
| 限制 VLAN(Auth-Fail VLAN) | 将未认证用户分配到受限 VLAN,仅允许上网 | 访客/临时用户 |
| 隔离 VLAN(Isolate-User VLAN) | 用户间二层隔离,仅可访问默认网关 | 防止横向攻击 |
| 等待重认证 | 端口保持关闭,等待终端重新发起认证 | 临时性认证故障 |
3.4 认证与 VLAN 分配
认证成功后,RADIUS 服务器可下发动态 VLAN:
| RADIUS 属性 | 说明 | 示例 |
|---|---|---|
| Tunnel-Private-Group-ID | 指定 VLAN ID | Tunnel-Private-Group-ID = 100(VLAN 100) |
| Framed-IP-Netmask | 指定子网掩码 | Framed-IP-Netmask = 255.255.255.0 |
| Filter-Id | 指定 ACL 名称 | Filter-Id = HR-ACL |
| Bandwidth-Max-Down | 下行带宽上限 | Bandwidth-Max-Down = 100000(Kbps) |
四、实战配置/案例分析
4.1 802.1X 认证完整配置
# ========== 场景:园区接入交换机配置 802.1X 认证 ==========
# ---- Step 1: 全局启用 AAA 和 802.1X ----
[HUAWEI] aaa
[HUAWEI-aaa] authentication-scheme auth-scheme
[HUAWEI-aaa-authen-auth-scheme] authentication-method eap radius*
[HUAWEI-aaa-authen-auth-scheme] quit
[HUAWEI-aaa] authorization-scheme auth-scheme
[HUAWEI-aaa-author-auth-scheme] authorization-method radius*
[HUAWEI-aaa-author-auth-scheme] quit
[HUAWEI-aaa] accounting-scheme acc-scheme
[HUAWEI-aaa-accounting-acc-scheme] accounting-method radius*
[HUAWEI-aaa-accounting-acc-scheme] quit
[HUAWEI-aaa] domain default
[HUAWEI-aaa-domain-default] authentication-scheme auth-scheme
[HUAWEI-aaa-domain-default] authorization-scheme auth-scheme
[HUAWEI-aaa-domain-default] accounting-scheme acc-scheme
[HUAWEI-aaa-domain-default] quit
[HUAWEI-aaa] quit
# ---- Step 2: 配置 RADIUS 服务器模板 ----
[HUAWEI] radius-server template RADIUS-AUTH
[HUAWEI-radius-RADIUS-AUTH] radius-server shared-key cipher Huawei@123
[HUAWEI-radius-RADIUS-AUTH] radius-server primary 192.168.1.100 1812
[HUAWEI-radius-RADIUS-AUTH] radius-server secondary 192.168.1.101 1812
[HUAWEI-radius-RADIUS-AUTH] radius-server retransmit 3
[HUAWEI-radius-RADIUS-AUTH] radius-server timeout 5
[HUAWEI-radius-RADIUS-AUTH] quit
[HUAWEI] radius-server host primary 192.168.1.100 1812
[HUAWEI] radius-server host secondary 192.168.1.101 1812
[HUAWEI] radius-server key-type cipher
[HUAWEI] radius-server key Huawei@123
# ---- Step 3: 配置 AAA 域关联 RADIUS ----
[HUAWEI] aaa
[HUAWEI-aaa] radius-server template RADIUS-AUTH
[HUAWEI-aaa] quit
# ---- Step 4: 全局启用 802.1X ----
[HUAWEI] dot1x enable
# ---- Step 5: 配置动态 VLAN(可选)----
[HUAWEI] vlan batch 10 20 30
[HUAWEI] dot1x vlan-dynamic-enable
# ---- Step 6: 在接口应用 802.1X ----
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] port link-type access
[HUAWEI-GigabitEthernet0/0/1] port default vlan 10
[HUAWEI-GigabitEthernet0/0/1] dot1x port-method mac # MAC 地址模式
[HUAWEI-GigabitEthernet0/0/1] dot1x max-user 10
[HUAWEI-GigabitEthernet0/0/1] dot1x retransmit 3
[HUAWEI-GigabitEthernet0/0/1] dot1x timeout 30
[HUAWEI-GigabitEthernet0/0/1] dot1x pvid-auto-change enable # 动态 VLAN
# ---- Step 7: 配置认证失败 VLAN(可选,在接口下配置)----
[HUAWEI-GigabitEthernet0/0/1] dot1x auth-fail vlan 999
# ---- 验证 ----
[HUAWEI] display dot1x statistics
[HUAWEI] display dot1x interface GigabitEthernet 0/0/1
[HUAWEI] display aaa online-users
4.2 MAC 认证配置
# ========== 场景:为打印机、IP 电话等无客户端设备配置 MAC 认证 ==========
# ---- Step 1: 全局启用 MAC 认证 ----
[HUAWEI] mac-auth enable
# ---- Step 2: 配置 MAC 认证方案 ----
[HUAWEI] mac-auth-profile PRINTERS
[HUAWEI-mac-auth-PRINTERS] auth-scheme scheme1
[HUAWEI-mac-auth-PRINTERS] eap-radius mac-rule mac-only
[HUAWEI-mac-auth-PRINTERS] retransmit 3
[HUAWEI-mac-auth-PRINTERS] timeout 30
[HUAWEI-mac-auth-PRINTERS] idle-timeout 28800 # 空闲超时 8 小时
[HUAWEI-mac-auth-PRINTERS] offline-supplicants 3 # 最多离线认证请求数
[HUAWEI-mac-auth-PRINTERS] quit
# ---- Step 3: 在接口应用 ----
[HUAWEI] interface GigabitEthernet 0/0/1
[HUAWEI-GigabitEthernet0/0/1] mac-auth mac-auth-profile PRINTERS
# ---- 或结合 802.1X 使用混合认证 ----
[HUAWEI] interface GigabitEthernet 0/0/2
[HUAWEI-GigabitEthernet0/0/2] dot1x enable
[HUAWEI-GigabitEthernet0/0/2] mac-auth mac-auth-profile PRINTERS
[HUAWEI-GigabitEthernet0/0/2] dot1x priority higher # 802.1X 优先
# RADIUS 端需要预先导入设备 MAC 地址白名单
# MAC:AA:BB:CC:DD:EE → 认证通过 → VLAN 200(打印机 VLAN)
4.3 故障案例:802.1X 认证超时
场景:某楼层接入交换机下挂的 30 台 PC 全部无法正常上网,用户登录 802.1X 客户端后提示"认证超时"。
排查:
# 1. 检查 802.1X 全局状态
[SW] display dot1x statistics
# 显示大量 Timeout 计数
# 2. 检查 RADIUS 服务器连通性
[SW] ping -a 192.168.1.1 192.168.1.100
# Ping 不通
# 3. 检查 RADIUS 配置
[SW] display radius-server template
# 发现:
# RADIUS Server Template : RADIUS-AUTH
# Primary Server : 192.168.2.100 (错误的 IP)
# 正确的 RADIUS 服务器地址应为 192.168.1.100
根因:网络搬迁后 RADIUS 服务器更换了 IP 地址,但交换机上的 RADIUS 服务器模板未更新。
处理:
[HUAWEI] radius-server template RADIUS-AUTH
[HUAWEI-radius-RADIUS-AUTH] radius-server primary 192.168.1.100 1812
4.4 故障案例:MAC 认证通过但无法获取 IP
场景:打印机 MAC 认证通过后(display mac-auth statistics 显示 AuthSuccess),但打印机电源灯常亮,无法打印。
排查:
# 检查打印机 VLAN 的 DHCP 服务
[SW] display vlan 200
[SW] display ip pool name PRINTER-POOL
# DHCP 地址池为空(地址已耗尽)
# 查看当前 DHCP 租约
[SW] display dhcp server statistics
# 发现:
# Address In Use: 254/254
# 地址池已耗尽
根因:DHCP 地址池配置为 /24(254 个可用地址),但实际接入设备超过 254 台。
处理:扩大地址池或使用 /23 子网;或回收已过期但未释放的 DHCP 租约。
五、总结
| 项目 | 说明 |
|---|---|
| 802.1X | IEEE 标准接入认证,基于用户名/密码/证书 |
| MAC 认证 | 基于设备 MAC 地址的简化认证,无需客户端 |
| 三大角色 | Supplicant(终端)、Authenticator(交换机)、Auth Server(RADIUS) |
| 端口模式 | Port-Based(整端口)、MAC-Based(逐 MAC)、Hybrid(混合) |
| 认证失败 | 端口关闭、限制 VLAN(Auth-Fail)、隔离 VLAN |
| 动态授权 | RADIUS 下发 VLAN、ACL、带宽上限等授权属性 |
| 华为实现 | dot1x enable + mac-auth enable + RADIUS 服务器配置 |
| 适用终端 | 智能终端用 802.1X,IoT/打印机/电话用 MAC 认证 |
| 混合认证 | 同一端口同时支持 802.1X 和 MAC 认证,优先级可配置 |
思考
-
802.1X 认证中,端口在认证通过前只允许 EAPoL 报文通过。如果交换机上还启用了 DHCP Snooping,认证前的 DHCP 请求是否会被放行?如何配置?
-
MAC 认证的安全性不如 802.1X,因为 MAC 地址可以被伪造。在什么场景下仍然推荐使用 MAC 认证?有没有增强 MAC 认证安全性的方法?
-
如果 RADIUS 服务器全部不可用(网络中断),已认证的用户会被下线吗?未认证的终端还能接入吗?如何在 RADIUS 不可用时保证业务连续性?
下篇预告:第133篇:RADIUS 与 HWTACACS 协议原理