问题说明:
用户从A楼进入B楼,认证成功后,获取到B楼的IP地址,但在radius服务器上抓包,收到AC发送的用户信息中,IP地址为A楼的IP地址。radius将客户端IP信息转发给准入设备,作为入网凭证信息;因客户IP和准入收到的IP信息不一致,导致客户端认证成功后,无法正常上网。
环境说明:
医院内无线采用分布式转发架构,不同楼宇具有不同的客户端IP范围。无线客户端的DHCP服务器在楼宇的无线汇聚交换机上。用户认证后,由本地汇聚的dhcp分配IP地址,AC发送客户IP信息给radius服务器,radius服务器再同步给准入设备,作为无线入网凭证,实现对无线客户端入网管控。
无线AC版本为:H3C Comware Software, Version 7.1.064, Release 5487
AC错误学习并上报终端残留的旧IP地址导致的,可通过以下方案解决:
解决方案(基于ACL过滤机制)
1. 创建ACL规则(放行B楼合法网段,拒绝其他网段)
acl basic 2001
description Filter_Building_B_IP
rule 5 permit source 10.2.0.0 0.0.255.255 B楼网段(示例,按实际修改)
rule 10 deny
2. 在无线服务模板中应用ACL过滤规则
wlan servicetemplate <B楼SSID名称>
client ipsnooping acl 2001
servicetemplate enable
关键配置说明
1. ACL过滤原理
ACL 2001仅允许学习B楼网段(如10.2.0.0/16)的终端IP地址
当终端携带A楼残留IP(如10.253.45.240)接入时,AC拒绝学习该IP
AC仅通过DHCP学习B楼的新IP(如10.2.77.252)并上报Radius
AC默认同时通过ARP和DHCP学习IP地址
终端漫游时残留的A楼IP被AC优先学习(ARP优先级高于DHCP)
AC上报错误IP给Radius,导致准入策略失效
️ 注意事项
1. ACL中需精确配置B楼实际网段(示例10.2.0.0/16需替换为真实值)
2. 若多楼栋需分别配置ACL规则并绑定对应SSID
3. 配置后验证方法:
display wlan client verbose 查看终端实际学习到的IP
display portal user all 确认上报Radius的IP与终端实际IP一致
暂无评论
根据问题描述,用户漫游后 AC 未及时向 Radius 服务器更新客户端 IP 地址,导致准入设备因 IP 不一致拒绝访问。结合 H3C Comware 7.1.064 的特性和 RADIUS 协议机制,可按以下步骤排查和解决:
一、核心问题定位
动态 IP 更新机制缺失AC 在用户漫游后未通过 RADIUS 计费更新报文(Accounting-Request)向 Radius 服务器同步新 IP 地址。根据 RFC 2866,计费请求中的Framed-IP-Address属性应携带用户当前 IP。若 AC 未发送该属性或延迟发送,Radius 服务器将保留旧 IP。
RADIUS Session Control 未启用H3C AC 需开启radius session-control enable功能,以支持 Radius 服务器通过动态授权(CoA)报文强制 AC 更新用户状态。若未启用,AC 无法主动同步 IP 变更。
分布式转发架构下的联动延迟在分布式转发模式中,DHCP 由本地汇聚交换机分配,AC 可能未及时感知 IP 变更。需验证 AC 与 DHCP 服务器的联动机制,确保 IP 分配后 AC 立即更新用户表项。
二、详细排查步骤
1. 检查 AC 的 RADIUS 配置
# 查看RADIUS方案配置
display radius scheme rs1
# 确认以下参数:
# - 主认证/计费服务器IP是否正确
# - 共享密钥是否与Radius服务器一致
# - 是否启用Session Control功能
radius session-control enable
# 检查计费请求是否携带用户IP
display radius accounting attribute
2. 验证用户漫游后的 IP 更新流程
# 跟踪用户漫游状态
display wlan client verbose mac-address 00:11:22:33:44:55
# 确认以下信息:
# - 当前关联的AP是否属于B楼
# - 用户IP是否为B楼网段
# - 漫游状态是否显示为"AC内漫游"或"跨VLAN漫游"
# 查看AC的用户表项
display user-interface
# 检查用户IP是否已更新为B楼地址
3. 抓包分析 AC 与 Radius 的交互
# 在AC上联口抓包,过滤RADIUS报文
[AC] packet-capture interface GigabitEthernet1/0/1 filter udp port 1812,1813
# 触发用户漫游后,分析以下报文:
# 1. 认证成功后的计费开始请求(Acct-Status-Type=Start)
# 2. 漫游后的计费更新请求(Acct-Status-Type=Interim-Update)
# 3. 检查报文中的Framed-IP-Address是否为B楼地址
4. 检查 DHCP 与 AC 的联动
# 在DHCP服务器上查看用户IP分配记录
display dhcp server ip-in-use
# 确认以下信息:
# - 用户IP是否在B楼网段
# - 租约开始时间是否与漫游时间一致
# 检查AC是否通过DHCP Option 82获取用户位置信息
display dhcp server option82 configuration
三、解决方案
1. 强制 AC 发送计费更新报文
bash
# 手动触发用户计费更新
[AC] user-interface vty 0 4
[AC-ui-vty0-4] undo idle-timeout
[AC-ui-vty0-4] quit
[AC] radius accounting update user-name username
2. 启用 RADIUS Session Control
# 全局启用Session Control
[AC] radius session-control enable
# 配置Radius服务器为Session Control客户端
[AC] radius session-control client ip 192.168.1.100 key simple radius
3. 优化 AC 的 IP 更新策略
# 缩短AC检测用户位置变更的时间间隔
[AC] wlan mobility detect-interval 5
# 开启AC的用户IP地址变化通知功能
[AC] user ip-change notify enable
4. 验证准入设备的 IP 同步
# 在Radius服务器上查看用户属性
display radius user username
# 确认以下属性:
# - Framed-IP-Address是否为B楼地址
# - Acct-Session-Id是否与AC的会话ID一致
# 检查准入设备的IP绑定规则
display access-control policy
四、预防措施
升级 AC 固件检查 H3C 官方是否发布了针对 Comware 7.1.064 的补丁,修复 RADIUS 计费更新延迟问题。
配置冗余 Radius 服务器部署主备 Radius 服务器,确保 AC 在主服务器故障时仍能同步 IP 信息。
定期审计 IP 同步机制使用 H3C iMC 或第三方工具监控 AC 与 Radius 的交互,设置告警阈值以检测 IP 更新延迟。
五、验证方法
模拟用户漫游手动将用户从 A 楼 AP 切换到 B 楼 AP,观察准入设备是否自动更新 IP。
检查用户访问权限漫游后,验证用户是否能访问 B 楼的授权资源,如医疗系统或内网服务器。
抓包确认 IP 更新在 Radius 服务器和准入设备上抓包,验证Framed-IP-Address属性是否正确传递。
通过以上步骤,可有效解决 AC 未及时更新 Radius 服务器用户 IP 地址的问题,确保无线漫游的连续性和安全性。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论