Удаленный порт переадресации на ldap зависает

Удаленный порт переадресации на ldap зависает

У меня есть машина Windows (ЛОКАЛЬНАЯ), виртуальная машина Centos 7 (ВМ) и LDAP (LDAP), с которым мне нужно взаимодействовать через ВМ.

LOCAL может подключаться к виртуальной машине по SSH и может независимо взаимодействовать с LDAP.

VM не может напрямую взаимодействовать с LOCAL или LDAP

Я выполнил команду на ЛОКАЛЬНОМ компьютере, например

ssh -R 389:LDAP:389 VM

Теперь внутри виртуальной машины я могу сделать

curl ldap://localhost/..., обеспечивая аутентификацию, и это работает, почти. Соответствующий ответ возвращается, но соединение зависает.

Почему зависает, как это исправить? У меня полный контроль над VM, частичный контроль над LOCAL и никакого контроля над LDAP. У меня нет контроля над какой-либо инфраструктурой, с которой я общаюсь.

Я хочу иметь возможность сделать это, поскольку я развертываю кластер openshift на нескольких виртуальных машинах, openshift должен быть аутентифицирован через определенный ldap. С текущей конфигурацией (для которой curl зависает) интеграция с ldap не работает. Я интегрировал openshift с образом docker ldap, который я развернул в сети, с которой может общаться виртуальная машина, и он работал нормально, что наводит меня на мысль, что это зависание и есть причина проблемы.

Если я работаю на машине, на которой запущен LDAP, то я могу сделать следующее:

ssh -R 400:localhost:389 localhost

В какой момент

curl ldap://localhost:400/...работает отлично (не зависает)

что немного загадочно

решение1

Разобрался с проблемой, зависание при скручивании на самом деле является какой-то общей проблемой, касающейся скручивания и конкретных настроек LDAP.

https://github.com/curl/curl/issues/622

Это происходит, когда:

В вашей установке curl бэкэнд ldap — openldap: вероятно, так и есть в Debian. Запросы отправляются на сервер, который возвращает рефералы: M$AD — один из них :-( Внешняя конфигурация ldap позволяет автоматически отслеживать рефералы. Пока нет простого способа поддержки автоматического отслеживания рефералов в curl. В качестве обходного пути я могу предложить вам отключить эту функцию с помощью конфигурации ldap («REFERRALS off» в ldap.conf): это устранит зависание. Конечно, это также приведет к потере результатов от рефералов, но в текущем состоянии curl они все равно не будут возвращены.

Подробнее:https://curl.haxx.se/mail/lib-2016-01/0101.html

Openshift не работал с ldap из-за не связанных с этим сетевых проблем.

Связанный контент