The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"cisco 3845: зависает tcl скрипт при соединении с ldap. "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Маршрутизаторы CISCO и др. оборудование. (Cisco маршрутизаторы)
Изначальное сообщение [ Отслеживать ]

"cisco 3845: зависает tcl скрипт при соединении с ldap. "  +/
Сообщение от Alexandr_B (ok) on 24-Дек-12, 04:19 
Привет. Имеется циска 3845 (c3845-advipservicesk9-mz.151-4.M4.bin). Требуется периодически делать выгрузку определенной информации из контроллера домена для формирования конфигурации абонентов voip (на основе voice register dn и voice register pool, sip с логином и паролем). Единственный способ к которому я пришел (поправьте если ошибаюсь) использовать TCL скрипты.

На циске имеется TCL версии 8.3 (проверить через CLI версию не удалось - не нашел информации как это сделать) поэтому пришлось использовать старые компоненты библиотеки tcllib (1.7), в частности добавил компоненты ldap и asn.

Написал самый примитивный скрипт:
# --------------------------------------------------------------------------
proc init { } {
  puts "Connecting"
   set handle [ldap::connect 10.0.0.1]
  puts "Binding"
   ldap::bind $handle user@domain.com password
  puts "Checking"
   set result [ldap::search $handle "ou=Domain Users, dc=domain, dc=com" "(telephoneNumber=101)" "mail"]
  puts "Closing"
   ldap::disconnect $handle
  puts "open file"
   set fp [open "flash:execute.log" "w"]
  puts "write file"
   puts $fp [exec "show clock"]
   puts $fp $result
   close $fp

}
package require ldap
init
# --------------------------------------------------------------------------

Файл скрипта загружен в flash:. Если запускать через оболочку tclsh:

router(tcl)# source flash:script.tcl

то скрипт выполняется: циска подключается через ldap к домену, делает запрос и полученный результат сохраняет в файле. Если запускать скрипт напрямую:

router# tclsh flash:script.tcl

то процесс застревает на этапе "Connecting" и отменить его не получается ни одним из известных мне методов (Ctrl+c, Ctrl+z, Ctrl+Shift+6). При этом на сервере домена, в netstat я вижу что соединение было установленно.

естественно второй из указанных вариантов выполнения скрипта для меня более важен, т.к. в конечном виде он должен будет запускаться через kron.

Собственно вопрос: почему может зависать подключение?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "cisco 3845: зависает tcl скрипт при соединении с ldap. "  +/
Сообщение от Alexandr_B (ok) on 25-Дек-12, 07:09 
Империческим путем вычислил, что в ступор циска входила при выполнении команды socket. анализ пакетов с другой стороны показал, что соединение все-таки было установленно.

Проблема решилась откатом на более старую версию IOS (12.4).

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру