RADIUS 经 F5 VIP 后真实地址回包问题分析笔记
RADIUS 经 F5 VIP 后真实地址回包问题分析笔记1. 结论摘要本次抓包中锐捷 S5310 交换机100.0.0.204向 F5 虚拟地址100.0.177.12发起 RADIUS/802.1X 认证请求但响应报文由后端真实地址100.0.14.1直接回给交换机。测试时交换机配置为aaa group server radius 2 server 100.0.177.12 server X.X.X.X aaa authentication dot1x default group 2其中 group 2 不包含旧配置中的 F5 后端真实地址100.0.14.1。因此本次认证能够通过不能解释为“100.0.14.1 本来就在 RADIUS 服务器列表中”。更合理的判断是锐捷 S5310 在该 dot1x/RADIUS 场景下没有强制要求响应报文源 IP 必须等于配置的 radius-server IP。 它接受了来自 100.0.14.1 的 RADIUS Access-Challenge / Access-Accept 并依据 RADIUS 协议层的 Identifier、Response Authenticator、shared secret 继续完成认证。认证结果可用但 F5/VIP 回程形态不规范。标准和更稳妥的生产形态应当让交换机看到响应源地址仍为 VIP100.0.177.12:1812 - 100.0.0.204:1812而不是100.0.14.1:1812 - 100.0.0.204:18122. 拓扑示意EAPOLRADIUS Access-Requestdst 100.0.177.12:1812负载均衡 / DNATAccess-Challenge / Access-Acceptsrc 100.0.14.1:1812dst 100.0.0.204:1812终端 / Supplicant锐捷 S5310SD53XF04-A4100.0.0.204F5 Virtual ServerVIP 100.0.177.12:1812后端 RADIUS 真实服务器100.0.14.1:1812现象请求目的地址是 VIP响应源地址是后端真实地址3. 抓包文件与对象抓包文件F:\A-工作间\A-FTP\ras_2_办公网_(2026-06-25 15_39_00 - 2026-06-25 15_43_05)_1782437338409.pcap关键地址对象地址说明交换机100.0.0.204锐捷 S5310dot1x NAS / RADIUS clientF5 VIP100.0.177.12交换机配置的 RADIUS 目标地址后端真实 RADIUS100.0.14.1抓包中实际回包源地址RADIUS 端口1812/UDP认证报文端口抓包统计类型数量方向Access-Request6100.0.0.204 - 100.0.177.12Access-Challenge3100.0.14.1 - 100.0.0.204Access-Accept3100.0.14.1 - 100.0.0.204二层 MAC 方向方向源 MAC目的 MAC交换机发往 F5/VIP9c:ce:88:51:45:d4c4:d4:38:1d:e9:02真实 RADIUS 回交换机c4:d4:38:1d:e9:029c:ce:88:51:45:d44. 抓包显示的状态Wireshark 中可见的 RADIUS 交互状态如下No.相对时间源地址目的地址RADIUS 类型IdentifierEAP 内容10.000000000100.0.0.204100.0.177.12Access-Request9EAP Response Identity20.021293689100.0.14.1100.0.0.204Access-Challenge9EAP Request MD5-Challenge30.029288125100.0.0.204100.0.177.12Access-Request10EAP Response MD5-Challenge40.050559574100.0.14.1100.0.0.204Access-Accept10EAP Success533.175688832100.0.0.204100.0.177.12Access-Request11EAP Response Identity633.200952565100.0.14.1100.0.0.204Access-Challenge11EAP Request MD5-Challenge733.207024145100.0.0.204100.0.177.12Access-Request12EAP Response MD5-Challenge833.230293763100.0.14.1100.0.0.204Access-Accept12EAP Success9203.712265689100.0.0.204100.0.177.12Access-Request13EAP Response Identity10203.713307090100.0.14.1100.0.0.204Access-Challenge13EAP Request MD5-Challenge11203.723112124100.0.0.204100.0.177.12Access-Request14EAP Response MD5-Challenge12203.724104311100.0.14.1100.0.0.204Access-Accept14EAP Success可以看到交换机每次 Access-Request 都发往100.0.177.12。每次 Access-Challenge / Access-Accept 都从100.0.14.1返回。RADIUS Identifier 是连续配对的例如id9的 Request 对应id9的 Challengeid10的 Request 对应id10的 Accept。EAP-MD5 流程完整最终出现 Access-Accept / EAP Success说明终端认证已通过。5. 抓包分析5.1 五元组现象请求方向100.0.0.204:1812 - 100.0.177.12:1812响应方向100.0.14.1:1812 - 100.0.0.204:1812如果按严格的 UDP 会话五元组反向匹配响应源地址应当是100.0.177.12。实际源地址变成100.0.14.1说明外层 IP 五元组不对称。5.2 为什么仍能认证通过本次测试配置的 RADIUS group 2 不包含100.0.14.1但认证仍然通过说明锐捷 S5310 在此场景下没有把“响应源 IP 不等于配置 server IP”作为硬失败条件。更可能的处理逻辑是1. 交换机本机 UDP 1812 收到 RADIUS 响应报文。 2. RADIUS 客户端用 Identifier 匹配 pending Access-Request。 3. 使用对应请求的 Request Authenticator 和 shared secret 校验 Response Authenticator。 4. 校验通过后继续 EAP Challenge / Accept 流程。 5. 外层源 IP 100.0.14.1 ! 100.0.177.12 没有触发丢弃。5.3 F5 侧含义该现象通常意味着以下情况之一可能原因说明后端服务器直回请求经 F5 到后端后端回交换机时绕过 F5F5 未对回程做源地址转换回包没有被转换回 VIP回程路由非对称后端 RADIUS 到交换机网段的路由不经过 F5类 DSR/nPath 设计如果是故意设计必须确认交换机和安全策略都接受这种形态生产上更建议检查 F5 Virtual Server、Pool、SNAT Automap/SNAT Pool、后端服务器默认网关和回程路由使交换机侧看到的响应源统一为 VIP。6. RFC 2865 原理依据RFC 链接https://datatracker.ietf.org/doc/html/rfc28656.1 Section 3 - Packet Format链接https://datatracker.ietf.org/doc/html/rfc2865#section-3相关内容RADIUS 报文封装在 UDP Data 字段中RADIUS 认证端口为 UDP 1812。Identifier 字段用于匹配 request 和 reply。Authenticator 字段用于认证来自 RADIUS server 的 reply。对 Access-Accept、Access-Reject、Access-ChallengeResponse Authenticator 的计算要素为Code Identifier Length 原始 Access-Request 的 Request Authenticator 响应 Attributes Shared Secret摘要算法为 MD5。注意这里没有外层 IP 源地址、目的地址、UDP 源端口、UDP 目的端口。对应 RFC 公式ResponseAuth MD5(Code ID Length RequestAuth Attributes Secret)这说明RADIUS 协议层的响应认证摘要本身不把外层 IP 源地址纳入计算。6.2 Section 4.2 - Access-Accept链接https://datatracker.ietf.org/doc/html/rfc2865#section-4.2相关内容收到 Access-Accept 后NAS 使用 Identifier 匹配一个 pending Access-Request。Response Authenticator 必须是该 pending Access-Request 的正确响应。无效报文会被静默丢弃。Access-Accept 中的 Identifier 是触发它的 Access-Request 的 Identifier 副本。本次抓包里id10的 Access-Request 对应id10的 Access-Acceptid12对应id12id14对应id14符合这一匹配逻辑。6.3 Section 4.4 - Access-Challenge链接https://datatracker.ietf.org/doc/html/rfc2865#section-4.4相关内容收到 Access-Challenge 后Identifier 字段也要匹配 pending Access-Request。Response Authenticator 必须是该 pending Access-Request 的正确响应。如果 NAS 支持 challenge/response收到有效 Access-Challenge 后会发送新的 Access-Request。本次抓包里id9的 Access-Request 对应id9的 Access-Challenge随后交换机继续发出id10的 MD5-Challenge Response说明交换机接受了该 Challenge。6.4 关于“源 IP 是否必须一致”的边界RFC 2865 定义的是 RADIUS 协议层的报文格式、Identifier 匹配和 Authenticator 校验逻辑。它没有把外层 IP 源地址写入 Response Authenticator 计算也没有明确要求 NAS 必须因为响应源 IP 不等于配置 server IP 而丢弃该响应。但是这不等于所有厂商设备都会接受这种报文。厂商实现可以额外增加源地址校验、防重放检查、会话五元组检查或安全策略。因此本次现象应表述为锐捷 S5310 当前版本/当前 dot1x 场景下实测接受了源 IP 为后端真实地址的 RADIUS 响应 从 RFC 2865 的 RADIUS 协议层校验逻辑看这在 Identifier Response Authenticator shared secret 校验通过时可以解释 但从 F5 负载均衡与生产规范角度仍建议修正为 VIP 源地址回包。7. 风险与建议7.1 风险风险说明设备兼容性风险换其他型号、其他版本、其他厂商设备后可能严格校验响应源 IP安全策略风险防火墙、IPS、会话检测设备可能认为回包源地址异常运维排障风险配置目标是 VIP但日志和抓包显示真实地址容易误判多后端风险如果 F5 后端池有多台 RADIUS源地址可能随调度变化后续功能风险Accounting、CoA、审计联动可能对源地址更敏感7.2 建议检查项F5 侧建议检查1. Virtual Server 100.0.177.12:1812 是否启用地址转换。 2. Pool member 是否包含 100.0.14.1。 3. 是否启用 SNAT Automap 或 SNAT Pool。 4. 后端 RADIUS 服务器到 93.4.19.0/24 的回程路由是否经过 F5。 5. 是否存在 DSR/nPath/透明转发类设计。交换机侧建议保留的验证命令show running-config | include radius-server|aaa group server radius|aaa authentication dot1x建议的规范目标交换机请求 100.0.0.204:1812 - 100.0.177.12:1812 交换机收到 100.0.177.12:1812 - 100.0.0.204:18128. 最终表述可用于报告中的一句话本次锐捷 S5310 终端 802.1X 认证可通过但抓包显示 RADIUS 请求发往 F5 VIP 100.0.177.12 后响应由后端真实地址 100.0.14.1 直接返回交换机。测试时交换机 RADIUS group 不包含该真实地址说明该设备在当前版本/场景下未强制校验响应源 IP 与配置 server IP 一致而是依据 RADIUS Identifier、Response Authenticator 和共享密钥完成协议层校验。该行为可解释认证成功原因但 F5 回程形态不规范建议整改为由 VIP 源地址统一回包。

相关新闻

openEuler/git-basics:10分钟学会Git配置与仓库管理的终极指南

openEuler/git-basics:10分钟学会Git配置与仓库管理的终极指南

openEuler/git-basics:10分钟学会Git配置与仓库管理的终极指南 【免费下载链接】git-basics This reposiroty will provide the content of Git basic usage Course. 项目地址: https://gitcode.com/openeuler/git-basics 前往项目官网免费下载:h…

2026/6/27 20:42:01阅读更多 →
如何快速上手Capsule:10分钟掌握智能体运行时底座

如何快速上手Capsule:10分钟掌握智能体运行时底座

如何快速上手Capsule:10分钟掌握智能体运行时底座 【免费下载链接】capsule Capsule is an openEuler-governed infrastructure platform for agent runtimes, providing a unified and sandboxed foundation for integrating memory, models, and tools. It enable…

2026/6/27 20:37:00阅读更多 →
witty-diagnosis-agent网络故障诊断:从物理层到应用层的完整排查流程

witty-diagnosis-agent网络故障诊断:从物理层到应用层的完整排查流程

witty-diagnosis-agent网络故障诊断:从物理层到应用层的完整排查流程 【免费下载链接】witty-diagnosis-agent The witty-diagnosis-agent is an intelligent diagnostic tool that provides automated analysis and troubleshooting for complex system issues. …

2026/6/27 20:37:00阅读更多 →
两款很实用小工具,吾爱出品

两款很实用小工具,吾爱出品

今天给大家推荐两款工具,一款是熄屏工具,一款是拍照自动回传工具,有需要的小伙伴一定要及时下载收藏。 第一款:吾爱熄屏 提到熄屏,很多人说关了显示器就好,或者用“Win键L”即可,关了显示器每次…

2026/6/27 22:12:13阅读更多 →
5个必知技巧:用SillyTavern打造专业级AI对话前端体验

5个必知技巧:用SillyTavern打造专业级AI对话前端体验

5个必知技巧:用SillyTavern打造专业级AI对话前端体验 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern SillyTavern作为一款专为高级用户设计的LLM前端界面,为开发者提…

2026/6/27 22:12:13阅读更多 →
番禺住宅翻新注意隐蔽工程

番禺住宅翻新注意隐蔽工程

去年番禺就有业主吃过这个亏——水电没验收,入住半年就漏水了。隐蔽工程确实是影响居住体验和装修寿命的关键环节,但很多业主容易忽略质控要求。这次我们整理了番禺及广州一些装修企业的公开信息,方便大家参考服务标准。广州市魔方设计装饰有…

2026/6/27 22:12:13阅读更多 →
kali 安装 openclaw

kali 安装 openclaw

安装 OpenClaw 的步骤运行以下命令即可一键安装 OpenClaw:curl -fsSL https://openclaw.ai/install.sh | bash过程有点慢,请多等一会到这就安装成功了下面开始配置网关服务安装失败 但是进聊天框了注意事项建议在执行安装脚本前确保系统已更新&#xff0…

2026/6/27 22:12:13阅读更多 →
【STL】C++标准库中的函数对象(仿函数)

【STL】C++标准库中的函数对象(仿函数)

本文介绍一下 C标准库中的函数对象,包括如何创建函数对象,以及函数对象与容器和算法直接的用法。 目录1 概述2 创建函数对象3 函数对象与容器4 函数对象与算法5 为什么优先用仿函数而不是普通函数1 概述 函数对象,也叫仿函数,是重…

2026/6/27 22:12:13阅读更多 →
本地部署 Qwen2.5,Radeon GPU 加速效果实测

本地部署 Qwen2.5,Radeon GPU 加速效果实测

为什么 Qwen2.5 在 Radeon GPU 上“跑通”不等于“好用” 很多开发者在本地部署大模型时,容易陷入一个误区:只要模型能加载、能吐出字,就算成功了。但在实际开发中,如果首字延迟超过 1 秒,或者生成速度只有每秒几个 to…

2026/6/27 22:07:13阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/27 11:20:40阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/27 5:46:02阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/27 11:20:39阅读更多 →
10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声&#xff1a;Retrieval-based-Voice-Conversion-WebUI完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrie…

2026/6/27 0:04:03阅读更多 →
Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider&#xff1a;3分钟AI智能分层&#xff0c;彻底告别手动抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的图像分层工作烦…

2026/6/27 0:04:03阅读更多 →
Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

1. 项目概述&#xff1a;为什么X-Frame-Options是Web安全的“防盗门”&#xff1f;最近在排查一个老项目的安全审计报告时&#xff0c;又被提到了“点击劫持”风险&#xff0c;矛头直指缺失的X-Frame-Options响应头。这已经不是第一次了&#xff0c;很多开发团队&#xff0c;尤…

2026/6/27 0:04:03阅读更多 →