С хоста не удается подключиться к серверу OpenLDAP, установленному на виртуальной машине
Я создал установку OpenLDAP на виртуальной машине CentOS Hyper-V, размещенной на моем ноутбуке с Windows 10. Используя Apache Directory Studio (на виртуальной машине), я создал соединение, настроил домен и добавил группы и людей.
IP-адрес виртуальной машины 172.16.22.150
, На моем хост-компьютере, если я пингую этот IP, я получаю ответ. Если я затем выключу виртуальную машину и снова пингую IP, на этот раз я не получу ответа. Включите виртуальную машину, выполните команду ping и получите ответ. Похоже, что 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 недоступен.
Трассировки стека:
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
Я не уверен, с чего начать устранение неполадок. Это конфигурация в CentOS на ВМ? Это конфигурация Hyper-V? Или что-то на моем хосте Windows, например, настройка брандмауэра?
Благодарность!
1 ответ
Понял. В брандмауэр (с помощью графического интерфейса) я добавил порты:
389 - ТКП 389 - УДП
Кажется, нужны оба.