我正在尝试在 LDAP 中存储和使用我的 Radius 客户端。它们在 LDAP 中定义并存在:
$ ldapsearch -x -H ldap://ldap.example.com -D "cn=admin,dc=example,dc=com" -w admin -b "dc=example,dc=com" '(&(objectClass=freeradiusClient)(freeradiusClientShortname=client1))'
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (&(objectClass=freeradiusClient)(freeradiusClientShortname=client1))
# requesting: ALL
#
# 192.168.10.2, clients, radius, services, example.com
dn: freeradiusClientIdentifier=192.168.10.2,ou=clients,ou=radius,ou=services,d
c=example,dc=com
objectClass: freeradiusClient
objectClass: radiusClient
freeradiusClientIdentifier: 192.168.10.2
freeradiusClientShortname: client1
freeradiusClientType: other
radiusClientSecret: password
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
FreeRadius 上的 LDAP 模块已启用,在将客户端存储在/etc/raddb/clients.conf
文件中时可以完美运行。但是,每当我尝试使用 LDAP 中定义的客户端时,都找不到该客户端:
Ignoring request to auth address * port 1812 bound to server default from unknown client 192.168.10.2 port 8021 proto udp
Ready to process requests
事实上,FreeRadius 服务器根本没有向 OpenLDAP 服务器查询客户端。OpenLDAP 日志中没有一条关于 Radius 客户端的引用。
核心问题似乎是 FreeRadius 未尝试从 OpenLDAP 请求客户端。根据 FreeRadius 文档,这种配置应该是可行的:FreeRadius:使用 OpenLDAP 是一个 Docker 容器
我可能缺少一些关键配置或模块。