基于计算机OU位置在Aruba ClearPass中实现VLAN/dACL分配的方法(解决LDAP-UserDN为空问题)
基于计算机OU位置在Aruba ClearPass中实现VLAN/dACL分配的方法(解决LDAP-UserDN为空问题)
嘿,我完全懂你现在的困扰——原本靠认证计算机的组归属来分配VLAN和dACL,现在想切换成基于计算机的OU位置,结果折腾半天发现LDAP-UserDN是空的,这确实挺头疼的。下面给你拆解问题根源,再说说具体的解决办法:
问题根源:用错了LDAP属性
你当前用的LDAP-UserDN是针对用户认证的字段,但你现在处理的是计算机认证请求,这个字段自然是空的。咱们得改用计算机对象对应的LDAP属性,也就是计算机的distinguishedName(DN),这个属性才会包含计算机的OU路径信息。
具体解决步骤
确认LDAP数据源配置
在ClearPass的LDAP服务器配置里,一定要确保你拉取了计算机对象的distinguishedName属性,并且把它映射到一个会话变量里(比如默认的LDAP-dn,或者你自定义的变量名)。修改策略中的变量引用
把原来策略里的LDAP-UserDN换成计算机DN对应的变量,比如LDAP-dn,调整后的规则示例如下:if ( LDAP-dn =~ /(.*),OU=IRStaff,OU=Computers,DC=company,DC=net$/ ) { update reply { Service-Type := "Framed" Framed-Protocol := "PPP" Tunnel-Private-Group-Id := "10" Tunnel-Type := "VLAN" Tunnel-Medium-Type := "IEEE-802" } }验证认证类型匹配
确保你的服务策略是针对计算机认证请求的(比如802.1X机器证书认证、PEAP-MSCHAPv2计算机账户认证),如果策略误匹配成用户认证,还是会拿不到计算机的DN信息。用Access Tracker调试
可以在ClearPass的Access Tracker里查看完整的认证会话详情,检查计算机的DN变量是否被正确获取,这能帮你快速确认变量名是否正确、LDAP查询是否生效。
备注:内容来源于stack exchange,提问作者another_netadmin
相关产品推荐
相关产品推荐

