Tenho uma máquina windows (LOCAL), uma VM Centos 7 (VM) e um LDAP (LDAP) com o qual preciso conversar através da VM.
LOCAL pode fazer ssh na VM e pode se comunicar de forma independente com o LDAP.
A VM não pode se comunicar diretamente com LOCAL ou LDAP
Eu executei um comando em LOCAL como
ssh -R 389:LDAP:389 VM
Agora dentro da VM eu posso fazer
curl ldap://localhost/...
, fornecendo autenticação, e quase funciona. A resposta apropriada é retornada, mas a conexão é interrompida.
Por que está travando, como posso consertar isso? Tenho controle total sobre a VM, tenho controle parcial sobre LOCAL e nenhum controle sobre LDAP. Não tenho controle sobre nenhuma infraestrutura com a qual converso.
Quero poder fazer isso porque estou implantando um cluster openshift em vários vms. O openshift deve ser autenticado por meio de um ldap específico. Com a configuração atual (para a qual o curl trava), a integração com o ldap não está funcionando. Integrei o openshift com uma imagem docker ldap que criei na rede com a qual o VM é capaz de se comunicar e funcionou bem, levando-me a acreditar que esse travamento é o que está causando o problema.
Se eu estiver em uma máquina executando um ldap, posso fazer
ssh -R 400:localhost:389 localhost
Em que ponto
curl ldap://localhost:400/...
funciona bem (sem travamento)
o que é um pouco misterioso
Responder1
Resolvido o problema, o travamento durante o curling é, na verdade, um problema geral relacionado ao curl e às configurações específicas do ldap.
https://github.com/curl/curl/issues/622
Isso ocorre quando:
O backend ldap usado pela instalação do curl é openldap: provavelmente o caso no Debian. As consultas são feitas a um servidor que retorna referências: M$AD é um deles :-( A configuração ldap externa permite a busca automática de referências. Ainda não há uma maneira fácil de suportar a busca automática de referências em curl. Como solução alternativa, posso sugerir que você desabilite este recurso pela configuração do ldap ("REFERRALS off" em ldap.conf): isso irá liberar o travamento. Claro, isso também irá perder os resultados das referências, mas no estado atual do curl, eles não serão retornados de qualquer maneira.
Mais detalhes:https://curl.haxx.se/mail/lib-2016-01/0101.html
Openshift não estava funcionando com ldap devido a problemas de rede não relacionados