使用OpenLDAP设置FreeRadius身份验证
时间:2019-05-19 01:26:07 来源:igfitidea点击:
FreeRadius是RADIUS服务器的一个实现。
它支持多种类型的身份验证。
本文将使用OpenLDAP设置freeradius身份验证。
步骤1:设置OpenLDAP服务器
首先需要安装设置openldap服务器
步骤2:安装freeradius包
使用以下命令在系统上安装所有freeradius2服务器包。
# yum install freeradius2 freeradius2-utils freeradius2-ldap
步骤3:下载模式文件
下载radius ldap模式文件并使用以下命令复制到ldap模式目录。
3.1 下载文件
# wget http://open.rhx.it/phamm/schema/radius.schema
3.2 在schema目录下复制文件
# cp radius.schema /etc/openldap/schema/
3.3 包含文件/etc/openldap/slapd.conf中的ldap配置文件
include /etc/openldap/schema/radius.schema
步骤4:编辑LDAP文件
编辑radius ldap文件/etc/raddb/modules/ldap,并添加下面ldap服务器信息。
# vim /etc/raddb/modules/ldap
ldap { server = "openldap.example.com" basedn = "dc=example,dc=com" identity = "cn=Manager,ou=people,dc=example,dc=com" filter = "(uid=%{Stripped-User-Name:-%{User-Name}})" base_filter = "(objectclass=radiusprofile)" start_tls = no groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))" profile_attribute = "radiusprofile" access_attr = "uid" dictionary_mapping = {raddbdir}/ldap.attrmap ldap_connections_number = 10 timeout = 4 timelimit = 5 net_timeout = 1 set_auth_type = yes }
编辑/etc/freeradius/ldap.attrmap文件
# vim /etc/freeradius/ldap.attrmap
checkItem User-Password userPassword replyItem Tunnel-Type radiusTunnelType replyItem Tunnel-Medium-Type radiusTunnelMediumType replyItem Tunnel-Private-Group-Id radiusTunnelPrivateGroupId
步骤5:启用LDAP身份验证
在更新以上文件之后,在/etc/raddb/site-available/inner-tunnel和/etc/raddb/site -available/default中, 取消下面的注释来启用的LDAP身份验证。
Auth-Type LDAP { ldap }
步骤6:测试设置
最后,使用以下命令设置安装程序
# radtest ldapuser1 password ldap.example.com 2 testing123 Sending Access-Request of id 165 to 127.0.0.1 port 1812 User-Name = "ldapuser1" User-Password = "password" NAS-IP-Address = 192.168.10.50 NAS-Port = 2 Message-Authenticator = 0x00000000000000000000000000000000 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=165, length=64 Filter-Id = "Enterasys:version=1:policy=Enterprise User"
如果是rad_recv: Access-Accept,那么说明身份验证成功。