Я создал установку OpenLDAP на виртуальной машине CentOS Hyper-V, размещенной на моем ноутбуке с Windows 10. Используя Apache Directory Studio (на виртуальной машине), я создал соединение, настроил домен и добавил группы и людей.
IP-адрес виртуальной машины: 172.16.22.150
. На моем хост-компьютере, если я пингую этот IP-адрес, я получаю ответ. Если я затем выключу виртуальную машину и снова пропингую IP-адрес, на этот раз я не получу ответа. Включите виртуальную машину, выполните эхо-запрос, получите ответ. Так что, похоже, IP в порядке.
Пока все хорошо. Однако ...
Во-первых, я также установил Apache Directory Studio на свой хост-компьютер. Но когда я пытаюсь создать такое же соединение, я получаю
Ошибка подключения - невозможно подключиться.
Подробности:
The connection failed
- Unable to connect
java.lang.Exception: Unable to connect
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper$1.run(DirectoryApiConnectionWrapper.java:251)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor(DirectoryApiConnectionWrapper.java:1312)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.doConnect(DirectoryApiConnectionWrapper.java:281)
at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.connect(DirectoryApiConnectionWrapper.java:172)
at org.apache.directory.studio.connection.core.jobs.CheckNetworkParameterRunnable.run(CheckNetworkParameterRunnable.java:80)
at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:140)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Unable to connect
Во-вторых, мне нужно создать небольшое консольное приложение C # в качестве PoC для подключения к сервер и аутентифицируйте пользователя. Как ни странно, я могу нормально подключиться к серверу, используя:
LdapDirectoryIdentifier ldi = new LdapDirectoryIdentifier("172.16.22.150");
LdapConnection ldapConnection = new LdapConnection(ldi);
Но когда я пытаюсь аутентифицировать пользователя:
ldapConnection.AuthType = AuthType.Basic;
ldapConnection.SessionOptions.ProtocolVersion = 3;
NetworkCredential nc = new NetworkCredential("ccrookston", "password", "mydomain.com");
ldapConnection.Bind(nc);
я получаю:
Сервер LDAP недоступен.
Stack Trace:
at System.DirectoryServices.Protocols.LdapConnection.Connect()
at System.DirectoryServices.Protocols.LdapConnection.BindHelper(NetworkCredential newCredential, Boolean needSetCredential)
at System.DirectoryServices.Protocols.LdapConnection.Bind(NetworkCredential newCredential)
at OpenLDAP.Program.Main(String[] args) in C:\Users\caseyc\Documents\Visual Studio 2017\Projects\OpenLDAP\Program.cs:line 33
I ' Я не уверен, с чего начать устранение неполадок. Это конфигурация в CentOS на виртуальной машине? Это конфигурация Hyper-V? Или что-то на моем компьютере с Windows, например настройки брандмауэра?
Спасибо!
Понятно. В брандмауэре (через графический интерфейс) я добавил порты:
389 - tcp 389 - udp
Кажется, нужны оба.