提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

进阶排查-步骤三:通过工具以及抓包分析

|

问题描述

在检查配置没有异常后,还是存在导入用户/组织架构失败或者导入不全的情况,那么我们就需要在atrust设备上抓取设备与LDAP服务器的交互数据包来确认问题原因。

有效排查步骤

一、在执行导入同步到设备本地时,同时在设备webconsole界面进行抓包,命令如下 tcpdump -i ethx(访问LDAP服务器的路由网口) host  xx.xx.xx.xx(ldap服务器地址) -nn -s0 -w,将数据包保存到本地进行分析。

二、分析抓取的数据包,检查数据包中的过滤条件,以及查询LDAP服务器中的用户、组织架构、群组等信息是否有正常返回。具体分析内容,看截图:


如果数据包没有正常搜索到用户跟组织架构(数据包返回0  results),可能是由于ldap服务器提供的管理员权限不够,或者第二步的参数配置还是有问题。此时建议让客户提供ldap的超管账号进行测试验证。

三、如果在抓包的过程中已经抓取到有返回用户、组织架构、群组等数据结果,但是用户目录还是没有同步成功,可以检查一下是否从同步导入开始一直到结束,整个数据包中返回的用户数据读取超过了60s。如果超过了,也会导致导入失败。此时需要反馈研发调整超时时间,或者检查一下设备与ldap服务器之间是否网络环境存在延迟高的情况。


四、如果导入不全或者出现只导入了组织架构,没导入用户,我们需要检查一下是不是ldap服务器返回来的DN路径大小写不统一,这种情况也会导致用户导入失败。如图:
此时需要让客户调整LDAP服务器将用户跟用户组的OU大小写保持一致。

五、可能LDAP服务器不支持分页查询导致用户导入失败,类似案例请参考:LDAP服务器不支持分页导致用户导入失败
六、如果确认设备发出的请求参数,以及ldap服务器的返回都没有异常,但是设备上还是存在部分用户无法导入的情况,需要清理一下设备的脏数据,避免是脏数据干扰导致用户导入不全。具体操作步骤如下:
①使用admin账号登录设备后台
②#首先获取用户目录的id:执行如下命令
atrust_tool access_db mysql sdp -Nse "select id from user_directory where name = '用户目录名称'"
#然后执行如下命令
for table in {"mirror_user","mirror_user_group","mirror_user_band","mirror_user_to_band"}; do atrust_tool access_db mysql sdp -Nse "delete from $table where user_directory_id='用户目录id'"; done
③操作完成之后再执行导入看是否正常

解决方案

一、①尝试使用LDAP超管权限账号对接进行用户导入操作 ②检查LDAP服务器返回内容,做排查步骤中的对应调整
二、如果抓包分析无异常以及清理脏数据还是不行,请执行步骤四

操作影响范围

我要分享
文档编号: 223909
作者: admin
更新时间: 2023-01-05 17:29
适用版本: