От стороны клиента Вам нужна следующая опция предложить пользователю имя пользователя/пароль
auth-user-pass
На стороне сервера Вам нужна следующая опция проверить имя пользователя/пароль
auth-user-pass-verify scriptname method
scriptname
сценарий или программа, которую openvpn выполнит для проверки пользователя/передачи. Если код возврата сценария верен (0), пользователь зарегистрирован, иначе делаемый недействительным. method
способ, которым пользователь и параметры передачи передаются scriptname
.
Таким образом, у Вас должен быть сценарий/программа для проверки пользователей на основе ldap сервера, и Вы сделаны.
Править: связанная документация Используя альтернативные методы аутентификации
У меня есть друг, который делает точно что: OpenVPN с сертификатами SSL раньше аутентифицировал каждую конечную точку, затем подсказка имени пользователя/пароля появляется, и учетные данные пользователя аутентифицируются от AD сервера через LDAP, прежде чем соединение OpenVPN подойдет. Я знаю, что это - то, что он делает, поскольку я при случае имел учетные данные для использования его и таким образом вошел в систему сам. Таким образом да, это возможно, но у меня нет конфигураций;прошу прощения.
Вы попытались следовать http://openvpn.net/index.php/open-source/documentation/howto.html#security и использовать openvpn-auth-pam?
Не сделали этого самостоятельно, но пошел бы путь, описанный в https://help.ubuntu.com/community/ActiveDirectoryHowto#Pam для установки pam против AD. После того, как это сделано, говорить openvpn для использования pam не должно быть трудным.
Я использую OpenVPN в качестве сервера удаленного доступа в Ubuntu и для двукратной аутентификации у меня есть сервер аутентификации Deepnet, который генерирует одноразовые пароли для использования в сочетании со статическими паролями, которые, в свою очередь, аутентифицируют Пользователи VPN в AD.