You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将用户的Cisco-AVPair值传入FreeRADIUS的inner-tunnel以实现Meraki UDN

问题:FreeRADIUS中Cisco-AVPair无法通过inner-tunnel传递给Meraki实现UDN功能

现状与问题

用户文件配置如下:

rick    Cleartext-Password := "password1"
        Cisco-AVPair = "udn:private-group-id=500"

morty   Cleartext-Password := "password2"
        Cisco-AVPair = "udn:private-group-id=501"

单独测试时,radtest或RTRadPing能正常返回该属性,但该值无法传入inner-tunnel,导致Meraki无法接收。已确认问题核心:在inner-tunnel和default的post-auth段添加静态值配置时,Meraki能正常接收:

update reply {
        Cisco-AVPair := "udn:private-group-id=500"
    }

但静态配置会给所有用户设置固定UDN,需要实现每个用户对应专属值的传递。

无效尝试

在/etc/freeradius/3.0/sites-enabled/inner-tunnel的post-auth段尝试以下配置均无效:

  1. 读取session-state中的属性:
if (&session-state:Cisco-AVPair) {
        update reply {
            Cisco-AVPair := &session-state:Cisco-AVPair
        }
    }
  1. 读取request中的属性:
if (&request:Cisco-AVPair) {
        update reply {
            Cisco-AVPair := &request:Cisco-AVPair
        }
    }
  1. 在authorize段将值存入临时控制属性,再在post-auth段引用,同样无法传递当前用户的特定值。

解决方案指导

  1. 确保用户属性被加载到inner-tunnel的授权上下文
    • 在inner-tunnel的authorize段中,确认启用了files模块(用于加载本地用户文件),如果用户数据来自其他数据源(如LDAP),需确保对应模块在inner-tunnel的authorize链中启用。默认inner-tunnel可能未包含files模块,需手动添加:
      authorize {
          ...
          files
          ...
      }
      
  2. 在inner-tunnel的authorize段捕获属性并存储到session-state
    • 用户属性加载后,将Cisco-AVPair存入session-state,保证跨处理段可用:
      authorize {
          ...
          files
          if (&Cisco-AVPair) {
              update session-state {
                  Cisco-AVPair := &Cisco-AVPair
              }
          }
          ...
      }
      
  3. 在inner-tunnel的post-auth段从session-state读取并添加到回复
    • 修改post-auth段配置,使用+=避免覆盖其他可能存在的Cisco-AVPair属性:
      post-auth {
          ...
          if (&session-state:Cisco-AVPair) {
              update reply {
                  Cisco-AVPair += &session-state:Cisco-AVPair
              }
          }
          ...
      }
      
  4. 开启调试模式排查流程
    • 通过FreeRADIUS调试模式(radiusd -X)查看属性在各阶段的流转情况,确认Cisco-AVPair是否被正确存储和读取:
      radiusd -X
      
    重点关注authorize和post-auth阶段的属性变化日志。
  5. 检查属性权限配置
    • 确认files模块的attrs配置中允许传递Cisco-AVPair属性,无命名空间或权限限制。

内容的提问来源于stack exchange,提问作者RandomPrecision

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:42:40