openvpn调用radius,radius调用ldap用户.note
一、配置 ldap(仅SSL):
用户表:
1、创建 OU:
vim ou.ldif
ldapadd -x -D "cn=admin,dc=skill2025,dc=cn" -w Skill@2025 -f ou.ldif2、导入用户:
(1)配置 ldapscripts:
cd /etc/ldapscripts
vim ldapscripts.conf



echo -n Skill@2025 > ldapscripts.passwd(2)配置 用户模板,并在 ldapscripts 中调用:
# 复制用户模板进行修改:
vim /usr/sbin/ldapadduser
vim /etc/ldap/usertemp注意 inetorgperson 和 默认的 account 属性是冲突的

mail 和 phone 字段留空即可,后续使用 sed进行修改
# ldapscripts 调用模板:
vim ldapscripts.conf
(3)导入用户:
# 将用户复制进来
vim user
# 删除空行:
egrep -v '^$' user > users# 编写导入用户脚本:
vim add.sh
bash add.sh

3、配置 ldaps:
mkdir ~/ldap_back
mv /etc/ldap/slapd.d/* ~/ldap_back
cp /usr/share/doc/slapd/examples/slapd.conf .
# 生成加密密码:
slappasswd >> slapd.conf
# Skill@2025
# Skill@2025
# 编辑文件:
vim slapd.conf
# :%s/dc=example,dc=com/dc=skill2025,dc=cn
在最开头添加:

slaptest -f slapd.conf -F slapd.d/
chown -R openldap:openldap slapd.d/
chown openldap:openldap /etc/ssl/*
systemctl restart slapd使用命令验证:
ldapsearch -x -D "cn=admin,dc=skill2025,dc=cn" -w Skill@2025
ldapsearch -x -b "dc=skill2025,dc=cn" -D "cn=admin,dc=skill2025,dc=cn" -w Skill@2025

·配置 仅允许加密端口:
vim /etc/default/slapd

二、配置 radius:
·注意:freeradius如果解析不了配置文件中的 ldap 地址,重启就会报错。
1、配置 radius:
apt install -y freeradius freeradius-ldap# 设置允许访问的客户端地址和预共享密钥:
vim /etc/freeradius/3.0/clients.conf
# 启用 LDAP认证:
vim /etc/freeradius/3.0/sites-enabled/default

# 指定ldap服务器地址和凭据:
vim /etc/freeradius/3.0/mods-available/ldap如果允许匿名登陆就无需指定凭据,如果不允许匿名登陆就需要指定凭据

# 启用刚刚配置的 ldap配置文件:
## 创建一个软链接:
cd /etc/freeradius/3.0
ln mods-available/ldap mods-enabled
或者:
cp mods-available/ldap mods-enabled
chown freerad:freerad mods-enabled/ldapsystemctl restart freeradius
# 测试:
radtest donald abc123 localhost 1812 testing123
## 因为localhost默认的预共享密钥是 testing123,如果是客户端要连接,就要使用上面定义的预共享密钥
三、配置 openvpn 调用 radius:
1、Server:
apt install -y openvpn openvpn-auth-radiuscp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn
cp /usr/share/doc/openvpn-auth-radius/examples/radiusplugin.cnf /etc/openvpn
vim /etc/openvpn/server.conf






注释算法是为了图形化连接,否则图形化无法连接

调用 radius认证模块,调用radius配置文件
vim /etc/openvpn/radiusplugin.cnf
systemctl restart openvpn@server
systemctl enable openvpn@server
2、Client:
apt install -y openvpn
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/S2025-VPN.confecho "120.232.145.185 ovpn.skill2025.cn" >> /etc/hosts
# 这里使用 dns解析也可以
vim client.conf



注释算法是为了图形化连接,否则图形化无法连接

systemctl disable openvpn@S2025-VPN
systemctl restart openvpn@S2025-VPN
