Alex 'AdUser' Z
8 years ago
1 changed files with 69 additions and 0 deletions
@ -0,0 +1,69 @@
|
||||
Overview |
||||
-------- |
||||
|
||||
This is alternative LDAP auth module for openvpn. |
||||
|
||||
Runtime requirements: |
||||
|
||||
* openvpn |
||||
* libldap |
||||
|
||||
Build requirements: |
||||
|
||||
* cmake |
||||
* openvpn headers |
||||
* libldap headers |
||||
|
||||
Installation |
||||
------------ |
||||
|
||||
cmake -DCMAKE_BUILD_TYPE=Release |
||||
make |
||||
make test |
||||
sudo make install |
||||
|
||||
Configuration |
||||
------------- |
||||
|
||||
Firstly, you need to create config file for module. |
||||
Example config: |
||||
|
||||
# this is comment |
||||
# server(s) to connect |
||||
bindurls ldap://127.0.0.1 ldaps://172.16.17.1 |
||||
# username for binding |
||||
binddn cn=openvpn-auth,dc=example,dc=com |
||||
# password for binding |
||||
bindpass strong-password |
||||
# timeout on bind operation |
||||
bindtimeout 10 |
||||
# be more verbose |
||||
debug 0 |
||||
# where to search for users |
||||
basedn OU=users,DC=example,DC=com |
||||
# allow only users who match this filter |
||||
userfilter (&(objectClass=inetOrgPerson)(user=%s)(memberOf=CN=openvpn-users,CN=groups,DC=example,DC=com)) |
||||
|
||||
Then, you need move this config to secure place and make sure that only root can read it. |
||||
|
||||
install -m 0600 -o root -g root auth-ldap.conf /etc/openvpn/ |
||||
cd /etc/openvpn/ |
||||
chmod 600 auth-ldap.conf |
||||
chown root:root auth-ldap.conf |
||||
|
||||
Next, you need load your plugin in openvpn config. |
||||
Add this line to actual config: |
||||
|
||||
plugin /usr/lib/openvpn/oal.so "/etc/openvpn/auth-ldap.conf" |
||||
|
||||
... and restart oenvpn. |
||||
|
||||
Notes |
||||
----- |
||||
|
||||
This project is a replacement for original [openvpn-ldap-auth](https://github.com/threerings/openvpn-auth-ldap), |
||||
which written in obj-c and requires half of gnustep as deps. |
||||
|
||||
This project has no goal being 1:1 compatible with original. |
||||
Also, some important features still missing (like SSL/TLS encryption). |
||||
But it's works, and can save you from installing a bunch of GNUStep bloatware. |
Loading…
Reference in new issue