免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1910 | 回复: 2
打印 上一主题 下一主题

[ldap] 怎么才能把server端改成支持v2 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-09 19:39 |只看该作者 |倒序浏览
现有一环境 server, client .

client 是loadrunner的脚本模拟一个openldap的client的请求

server是openldap 2.2.18, 通过查看日志发现loadrunner送过来的请求是bind_v2的.server好象无法处理发送过来的请求

#bin/ldapsearch  -D "cn=root,dc=myhome,dc=com" -P 2 -w secret -x -LLL -b "dc=myhome,dc=com"
ldap_bind: Protocol error (2)
        additional info: historical protocol version requested, use LDAPv3 instead
用ldapsearch指定版本号也不行.报错如上.下面是日志报错

Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:39:01 test162 slapd[2425]: daemon: new connection on 8
Mar  9 19:39:01 test162 slapd[2425]: conn=0 fd=8 ACCEPT from IP=127.0.0.1:60045 (IP=0.0.0.0:389)
Mar  9 19:39:01 test162 slapd[2425]: daemon: added 8r
Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on:
Mar  9 19:39:01 test162 slapd[2425]:  
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on:
Mar  9 19:39:01 test162 slapd[2425]:  8r
Mar  9 19:39:01 test162 slapd[2425]:  
Mar  9 19:39:01 test162 slapd[2425]: daemon: read activity on 8
Mar  9 19:39:01 test162 slapd[2425]: connection_get(
Mar  9 19:39:01 test162 slapd[2425]: connection_get(: got connid=0
Mar  9 19:39:01 test162 slapd[2425]: connection_read(: checking for input on id=0
Mar  9 19:39:01 test162 slapd[2425]: ber_get_next on fd 8 failed errno=11 (Resource temporarily unavailable)
Mar  9 19:39:01 test162 slapd[2425]: do_bind
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: >>> dnPrettyNormal: <cn=root,dc=myhome,dc=com>
Mar  9 19:39:01 test162 slapd[2425]: <<< dnPrettyNormal: <cn=root,dc=myhome,dc=com>, <cn=root,dc=myhome,dc=com>
Mar  9 19:39:01 test162 slapd[2425]: do_bind: version=2 dn="cn=root,dc=myhome,dc=com" method=128
Mar  9 19:39:01 test162 slapd[2425]: conn=0 op=0 BIND dn="cn=root,dc=myhome,dc=com" method=128
Mar  9 19:39:01 test162 slapd[2425]: send_ldap_result: conn=0 op=0 p=2
Mar  9 19:39:01 test162 slapd[2425]: send_ldap_result: err=2 matched="" text="historical protocol version requested, use LDAPv3 instead"
Mar  9 19:39:01 test162 slapd[2425]: send_ldap_response: msgid=1 tag=97 err=2
Mar  9 19:39:01 test162 slapd[2425]: conn=0 op=0 RESULT tag=97 err=2 text=historical protocol version requested, use LDAPv3 instead

Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on:
Mar  9 19:39:01 test162 slapd[2425]:  8r
Mar  9 19:39:01 test162 slapd[2425]:  
Mar  9 19:39:01 test162 slapd[2425]: daemon: read activity on 8
Mar  9 19:39:01 test162 slapd[2425]: connection_get(
Mar  9 19:39:01 test162 slapd[2425]: connection_get(: got connid=0
Mar  9 19:39:01 test162 slapd[2425]: connection_read(: checking for input on id=0
Mar  9 19:39:01 test162 slapd[2425]: ber_get_next on fd 8 failed errno=0 (Success)
Mar  9 19:39:01 test162 slapd[2425]: connection_read(: input error=-2 id=0, closing.
Mar  9 19:39:01 test162 slapd[2425]: connection_closing: readying conn=0 sd=8 for close
Mar  9 19:39:01 test162 slapd[2425]: connection_close: conn=0 sd=8
Mar  9 19:39:01 test162 slapd[2425]: daemon: removing 8
Mar  9 19:39:01 test162 slapd[2425]: conn=0 fd=8 closed
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:39:01 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL

下是用loadrunner再执行查询时候的日志报错:
Mar  9 19:40:08 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:40:08 test162 slapd[2425]: daemon: new connection on 8
Mar  9 19:40:08 test162 slapd[2425]: conn=1 fd=8 ACCEPT from IP=192.168.198.17:17290 (IP=0.0.0.0:389)
Mar  9 19:40:08 test162 slapd[2425]: daemon: added 8r
Mar  9 19:40:08 test162 slapd[2425]: daemon: activity on:
Mar  9 19:40:08 test162 slapd[2425]:  
Mar  9 19:40:08 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:40:08 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:40:08 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:40:08 test162 slapd[2425]: daemon: activity on:
Mar  9 19:40:08 test162 slapd[2425]:  8r
Mar  9 19:40:08 test162 slapd[2425]:  
Mar  9 19:40:08 test162 slapd[2425]: daemon: read activity on 8
Mar  9 19:40:08 test162 slapd[2425]: connection_get(
Mar  9 19:40:08 test162 slapd[2425]: connection_get(: got connid=1
Mar  9 19:40:08 test162 slapd[2425]: connection_read(: checking for input on id=1
Mar  9 19:40:08 test162 slapd[2425]: ber_get_next on fd 8 failed errno=11 (Resource temporarily unavailable)
Mar  9 19:40:08 test162 slapd[2425]: do_bind
Mar  9 19:40:08 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:40:08 test162 slapd[2425]: >>> dnPrettyNormal: <cn=root,dc=myhome,dc=com>
Mar  9 19:40:08 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:40:08 test162 slapd[2425]: <<< dnPrettyNormal: <cn=root,dc=myhome,dc=com>, <cn=root,dc=myhome,dc=com>
Mar  9 19:40:08 test162 slapd[2425]: do_bind: version=2 dn="cn=root,dc=myhome,dc=com" method=128
Mar  9 19:40:08 test162 slapd[2425]: conn=1 op=0 BIND dn="cn=root,dc=myhome,dc=com" method=128
Mar  9 19:40:08 test162 slapd[2425]: send_ldap_result: conn=1 op=0 p=2
Mar  9 19:40:08 test162 slapd[2425]: send_ldap_result: err=2 matched="" text="historical protocol version requested, use LDAPv3 instead"
Mar  9 19:40:09 test162 slapd[2425]: send_ldap_response: msgid=1 tag=97 err=2
Mar  9 19:40:09 test162 slapd[2425]: conn=1 op=0 RESULT tag=97 err=2 text=historical protocol version requested, use LDAPv3 instead
Mar  9 19:40:09 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:40:09 test162 slapd[2425]: daemon: activity on:
Mar  9 19:40:09 test162 slapd[2425]:  8r
Mar  9 19:40:09 test162 slapd[2425]:  
Mar  9 19:40:09 test162 slapd[2425]: daemon: read activity on 8
Mar  9 19:40:09 test162 slapd[2425]: connection_get(8)
Mar  9 19:40:09 test162 slapd[2425]: connection_get(8): got connid=1
Mar  9 19:40:09 test162 slapd[2425]: connection_read(8): checking for input on id=1
Mar  9 19:40:09 test162 slapd[2425]: ber_get_next on fd 8 failed errno=104 (Connection reset by peer)
Mar  9 19:40:09 test162 slapd[2425]: connection_read(8): input error=-2 id=1, closing.
Mar  9 19:40:09 test162 slapd[2425]: connection_closing: readying conn=1 sd=8 for close
Mar  9 19:40:09 test162 slapd[2425]: connection_close: conn=1 sd=8
Mar  9 19:40:09 test162 slapd[2425]: daemon: removing 8
Mar  9 19:40:09 test162 slapd[2425]: conn=1 fd=8 closed
Mar  9 19:40:09 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:40:09 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL
Mar  9 19:40:09 test162 slapd[2425]: daemon: activity on 1 descriptors
Mar  9 19:40:09 test162 slapd[2425]: daemon: select: listen=6 active_threads=0 tvp=NULL
Mar  9 19:40:09 test162 slapd[2425]: daemon: select: listen=7 active_threads=0 tvp=NULL


我的问题是怎么能把server能让他接受bind_v2的请求,是我的配置有问题吗?什么参数可以做到,我查半天也没有查到哪位大侠帮看看.
slapd.conf配置如下:
access to *
        by *  write
database ldbm
suffix  "dc=myhome,dc=com"
rootdn  "cn=root,dc=myhome,dc=com"
rootpw  secret
directory /usr/local/openldap2.2.18/var/myhome

[ 本帖最后由 yj11 于 2006-3-9 19:41 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-03-09 21:25 |只看该作者
不过Mar  9 19:40:09 test162 slapd[2425]: ber_get_next on fd 8 failed errno=104 (Connection reset by peer) 从这段报错可以看出来loadrunner的错误信息跟 ldapsearch返回的结果是不一样.

Mar  9 19:39:01 test162 slapd[2425]: conn=0 op=0 RESULT tag=97 err=2 text=historical protocol version requested, use LDAPv3 instead
返回的错误号是2,我查了一下2应该是服务器接受到一个没有正确格式化或顺序出错的包,也不知识因为什么-_-!

我分析有可能loadrunner的客户端不是标准的LDAP协议,导致openldap处理上有问题.

大家都来帮看看

[ 本帖最后由 yj11 于 2006-3-9 21:50 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-03-10 12:50 |只看该作者
TNND的终于搞定了.只需要添加allow bind_v2就可以支持客户端过来的v2连接请求了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP