openvpn调用radius,radius调用ldap用户.note

noteId: WEBf68e91ea5c56462ca495bba7efdf2781 · 原始路径:/ALL/Linux - A模块/服务配置/Freeradius/openvpn调用radius,radius调用ldap用户.note · 图片:37 · 附件待处理:2

 
一、配置 ldap(仅SSL):
用户表:
 
1、创建 OU:
vim ou.ldif
 
ldapadd -x -D "cn=admin,dc=skill2025,dc=cn" -w Skill@2025 -f ou.ldif
 
 
2、导入用户:
 
(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/ldap
 
systemctl restart freeradius
 
# 测试:
radtest donald abc123 localhost 1812 testing123
## 因为localhost默认的预共享密钥是 testing123,如果是客户端要连接,就要使用上面定义的预共享密钥
 
 
三、配置 openvpn 调用 radius:
 
1、Server:
apt install -y openvpn openvpn-auth-radius
 
cp /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.conf
 
 
echo "120.232.145.185 ovpn.skill2025.cn" >> /etc/hosts
# 这里使用 dns解析也可以
vim client.conf
注释算法是为了图形化连接,否则图形化无法连接
 
systemctl disable openvpn@S2025-VPN
systemctl restart openvpn@S2025-VPN