openVPN使用ldap认证

需求:公司的openVPN搭建后用户名和密码默认写在了配置文件中,一个同事好多vpn账号,不好管理,所以使用openldap统一认证账号管理

#安装openvpn ldap认证插件
yum install openvpn-auth-ldap  -y 
#vim   /etc/openvpn/auth/ldap.conf:

    URL        ldap://xxx.xxx.xxx.xxx:389  #指定ldap server地址以及端口
    BindDN    "cn=xxx,dc=xxx,dc=com"       #指定binddn信息即管理员信息
    Password    "xxx"                #指定管理员密码
    Timeout        15  
    TLSEnable    no
    FollowReferrals yes


    BaseDN        "dc=xxx,dc=com"          #指定base dn 域
    SearchFilter    "SearchFilter   "(&(uid=%u)(accountStatus=active))""          #指定搜索条件,此处若使用cn作为用户名,则不用修改
    RequireGroup    false

#vim  /etc/openvpn/server.conf              文件,增加以下两行:
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf cn=%u"  
 #指定ldap认证插件地址,此处操作系统为64位。并指定auth ldap认证配置文件位置。
client-cert-not-required                   #设置客户端可以不用通过证书认证,输入ldap中用户名和密码即可实现认证。
配置完成之后,需要重启openvpn服务。

配置

1、打开/etc/openvpn/server.conf文件,对部分内容进行修改

plugin /usr/local/lib/openvpn-auth-ldap.so "/etc/openvpn/ldap.conf cn=%u"
通过调用openvpn-auth-ldap.so使用ldap.conf进行ldap认证
上面的路径是源码编译生成的路径
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-ldap.so "/etc/openvpn/auth/ldap.conf cn=%u" 
上面的路径是yum生成的路径
client-cert-not-required

2、打开/etc/openvpn/auth/ldap.conf文件,修改部分内容


        URL             ldap://etiantian.org:389        连接域的url和相应的端口 
        BindDN          "cn=admin,dc=etiantian,dc=cn"     做连接的用户名
        Password        admin                  相应的密码 
        Timeout         15                     设置网络超时时间 
        TLSEnable       no                     是否使用TSL 
        FollowReferrals yes


        BaseDN          "ou=People,dc=etiantian,dc=org"   登录用户的基础dn 
        SearchFilter    "(uid=%u)"               查找输入的域用户是否存在
        RequireGroup    false

3、修改客户端的配置,client.ovpn文件中在上面的基础上进行更改

;cert client.crt                         因为使用ldap认证,所以不需要客户端证书
;key client.key
ns-cert-type server
auth-user-pass                           ldap使用用户名密码认证

注意:客户端也可以使用证书和用户名密码双认证,证书我们可以所有用户使用统一的client证书,用户名使用ldap认证

如果不想每次登陆openVPN都是用用户名密码,请查看我前面所写的文章

你可能感兴趣的:(openVPN使用ldap认证)