第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 框架

AAA 框架 - 图示

阶段 说明 示例
Authentication 验证用户身份(用户名/密码/证书) 输入用户名密码,服务器比对
Authorization 授予访问权限(可访问的 VLAN、带宽上限、ACL) 分配到 HR-VLAN,限速 100Mbps
Accounting 记录用户行为(上线/下线时间、流量统计) 审计日志,按月出账

2.2 802.1X 认证原理

802.1X 定义了基于端口的网络访问控制标准,核心流程:

X 认证原理 - 图示

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 客户端的设备:

MAC 认证流程 - 图示

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 认证,优先级可配置

思考

  1. 802.1X 认证中,端口在认证通过前只允许 EAPoL 报文通过。如果交换机上还启用了 DHCP Snooping,认证前的 DHCP 请求是否会被放行?如何配置?

  2. MAC 认证的安全性不如 802.1X,因为 MAC 地址可以被伪造。在什么场景下仍然推荐使用 MAC 认证?有没有增强 MAC 认证安全性的方法?

  3. 如果 RADIUS 服务器全部不可用(网络中断),已认证的用户会被下线吗?未认证的终端还能接入吗?如何在 RADIUS 不可用时保证业务连续性?

下篇预告:第133篇:RADIUS 与 HWTACACS 协议原理