2015-07-13 2 views
0

Мы пытаемся использовать Zend_Ldap для аутентификации пользователей на нашем веб-сайте с использованием LDAP-сервера абонента. У нас есть пара клиентов уже настроен и работает, но когда мы добавили новый клиент соединение просто болтались и через 30 минут мы получили следующее (менее полезно) ошибки (!):Неисправность Подключение к удаленному серверу LDAP с использованием Zend_Ldap

0x51 (Can't contact LDAP server): ldap://x.x.x.x

Единственный шаг отладки Я знаю, что нужно использовать ldapsearch. Если я делаю только ldapsearch -h x.x.x.x, ничего не происходит очень долго (мне не хочется ждать 30 минут, но я предполагаю, что я получу ошибку «Не могу подключиться к LDAP-серверу»), и если я запустил ее, используя -d5 Я получаю следующий вывод.

ldap_create 
ldap_url_parse_ext(ldap://x.x.x.x) 
ldap_extended_operation_s 
ldap_extended_operation 
ldap_send_initial_request 
ldap_new_connection 1 1 0 
ldap_int_open_connection 
ldap_connect_to_host: TCP x.x.x.x:389 
ldap_new_socket: 3 
ldap_prepare_socket: 3 
ldap_connect_to_host: Trying x.x.x.x:389 
ldap_pvt_connect: fd: 3 tm: -1 async: 0 
ldap_open_defconn: successful 
ldap_send_server_request 
ber_scanf fmt ({it) ber: 
ber_scanf fmt ({) ber: 
ber_flush2: 31 bytes to sd 3 
ldap_result ld 0x7f9ad5666410 msgid 1 
wait4msg ld 0x7f9ad5666410 msgid 1 (infinite timeout) 
wait4msg continue ld 0x7f9ad5666410 msgid 1 all 1 
** ld 0x7f9ad5666410 Connections: 
* host: x.x.x.x port: 389 (default) 
    refcnt: 2 status: Connected 
    last used: Mon Jul 13 09:14:44 2015 


** ld 0x7f9ad5666410 Outstanding Requests: 
* msgid 1, origid 1, status InProgress 
    outstanding referrals 0, parent count 0 
    ld 0x7f9ad5666410 request count 1 (abandoned 0) 
** ld 0x7f9ad5666410 Response Queue: 
    Empty 
    ld 0x7f9ad5666410 response count 0 
ldap_chkResponseList ld 0x7f9ad5666410 msgid 1 all 1 
ldap_chkResponseList returns ld 0x7f9ad5666410 NULL 
ldap_int_select 

<20+ minute delay> 

read1msg: ld 0x7f9ad5666410 msgid 1 all 1 
ber_get_next 
ldap_err2string 
ldap_start_tls: Can't contact LDAP server (-1) 
ldap_free_request (origid 1, msgid 1) 
ldap_free_connection 1 1 
ldap_free_connection: actually freed 

сервер LDAP клиента является Windows Server 2008 R2 и мы используем Ubuntu 12.04.4 LTS с ldapsearch из OpenLDAP 2.4.28.

Любые предложения по устранению неполадок в следующем? Я предполагаю, что это где-то в сети клиентов, но я хочу проверить свой конец как можно больше, прежде чем я начну их спрашивать.

Update:

Я добавил:

ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); 

на мой PHP скрипт и получил тот же результат, что вернулся из ldapsearch.

ответ

0

Долгое и короткое, что брандмауэр клиента был настроен на разрешение соединения, но был установлен с другим протоколом, поэтому глубокий контроль пакетов сбил его. Надеюсь, если это произойдет с кем-то другим, это будет полезно.

Смежные вопросы