你遇到的问题,根源很可能在于交换机上的 “未认证用户老化定时器” 在起作用。
简单来说,就是交换机上存在两套独立运作的定时器,而你遇到的情况,是另一套定时器“覆盖”了你的设置。
为了清楚地理解,可以将它们对比来看:
你现在看到的“重认证一直在触发,但交换机没有发包”,很可能就是这个老化定时器在起作用,它让交换机认为用户还处于“未认证”状态,因此不会发起新的认证请求。
你可以按以下步骤操作,定位并解决问题。
首先,通过以下命令确认关键配置项:
检查重认证配置:
检查重认证周期:
检查Guest VLAN配置:
检查老化定时器(关键一步):
根据你的实际需求,选择以下一种方法:
方法一:关闭老化定时器(推荐)
如果你希望终端进入Guest VLAN后,严格按照你设定的30秒周期进行重认证,可以关闭这个老化功能:
方法二:调整老化时间
如果你希望保留老化机制,但不想等待20分钟,可以将其改小,比如也设为30秒:
配置修改后,你可以通过以下方式验证:
检查用户状态:使用 display mac-authentication user 命令,观察终端在Guest VLAN中的状态变化。
抓包分析:在交换机的上联口进行抓包,过滤RADIUS报文(端口1812),观察是否有 Code=11 的重认证请求发出。这是最直接的证据。
如果上述方法不能解决问题,还可以排查以下几点:
MAC 地址认证 + Guest VLAN 重认证不向 RADIUS 发包故障分析(H3C Comware V7)
现象复盘
终端 MAC 认证失败 → 交换机把端口划入 Guest VLAN;
终端持续触发重认证,交换机没有向 RADIUS 服务器发送任何 MAC 认证报文,认证循环卡死。
一、核心原理先行(关键!很多实施踩这个坑)
MAC 地址认证两套模式区分:
基于端口的 MAC 认证(Port-based)
基于 MAC 的 MAC 认证(MAC-based)
关键规则
当端口进入 Guest VLAN 之后:
默认机制:Guest VLAN 内,交换机不再主动发起 MAC 重认证 Radius 报文!
原因:交换机认为该端口已经落入访客隔离网络,停止周期性重认证报文;
终端本地持续发起重认证触发信号,但交换机内核直接拦截,不上送 Radius。
你 debug 看不到发往 RADIUS 的报文,就是这个机制导致。
补充:只有开启 guest-vlan re-authenticate enable,才能打破默认行为,允许 Guest VLAN 内继续发起重认证。
二、首要排查命令
bash
# 查看端口MAC认证Guest VLAN重认证开关
display current-configuration interface GigabitEthernet 1/0/X | include guest-vlan re-authenticate
如果没有这条配置,就是故障根因。
修复命令(接口视图下)
plaintext
interface GigabitEthernet 1/0/X
mac-authentication guest-vlan re-authenticate enable
开启之后:终端在 Guest VLAN 内触发重认证时,交换机正常发送 MAC 认证请求到 RADIUS 服务器。
三、其余配套排查点(开启上述命令依旧异常再查)
1、确认 MAC 认证方式
推荐使用 mac-based(基于 MAC),Port-based 模式在 GuestVLAN 场景兼容性较差。
plaintext
interface GigabitEthernet 1/0/X
mac-authentication mode mac-based
2、用户老化、重认证周期配置
plaintext
mac-authentication timer reauth-period xxx
重认证周期不要设置过长或过短;终端离线 / 在线老化时间合理规划。
3、检查 RADIUS 模板是否允许 MAC 认证报文输出
确认 RADIUS 方案、域配置绑定正常,没有 ACL 过滤交换机发往 RADIUS 服务器报文。
4、二层隔离、端口安全冲突
端口同时配置端口安全、MAC 地址学习限制,会干扰 MAC 认证报文触发。
四、完整标准接口参考配置
plaintext
interface GigabitEthernet 1/0/X
port link-type trunk
port trunk permit vlan all
mac-authentication
mac-authentication mode mac-based
mac-authentication guest-vlan 100
# 核心缺失命令
mac-authentication guest-vlan re-authenticate enable
五、重要误区澄清
❌ “终端一直在发重认证信号,交换机就一定会转发认证报文给 Radius”
✅错误。默认 Guest VLAN 下交换机主动停止发起 RADIUS 请求,必须手动开启guest-vlan re-authenticate enable。
❌ 把 iEAD 802.1X 逻辑套用到 MAC 认证
802.1X 与 MAC 认证 GuestVLAN 重认证开关是两套独立参数,不能混为一谈。
❌ 不要依靠修改全局 timer 解决,必须接口开启访客 VLAN 重认证开关。
六、故障流程总结
根因:接口缺少 mac-authentication guest-vlan re-authenticate enable;
MAC 认证失败进入 GuestVLAN 后,交换机默认停止发送 Radius 认证报文;
在接入接口下添加该命令,即可实现 Guest VLAN 内终端重认证正常发包给 RADIUS 服务器。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论