Оба моих сервиса freeradius и openldap находятся на одном сервере.Схема Freeradius загружается в openldap.
я настроил radiusProfileDN
пользователя для связи с группой. В этой группе у меня есть radiusReplyAttribute
настроен для предоставления информации о vlan.
- Когда я использую команду
лучший
в локальном (или от удаленного и уже аутентифицированного клиента) я получаю пакет Access-Accept (протокол радиуса), содержащий информацию для vlan. Захват wireshark показывает, что информация для vlan находится в пакете.
LDAP + Radius LDAP + Radius ----- Коммутатор ----- Клиент
<-------- <-----------------------------
--------> или ----------------------------->
*информация о vlan* *информация о vlan*
- Когда я использую инструмент
wpa_supplicant
(протокол peap-gtc), я успешно аутентифицируюсь, но клиентский порт не добавляется в группу vlan. Захват wireshark показывает, что пакет Access-Accept, которым обмениваются коммутатор и сервер Radius, не содержит информации о vlan.
LDAP + Радиус ----- Коммутатор ----- Клиент
<------------------ <----------
------------------> ---------->
*нет информации о vlan* wpa_supplicant
Из журнала openldap выполняются те же шаги для аутентификации с помощью radtest или wpa_supplicant:
- разрешен доступ на чтение для атрибута radiusReplyAttribute в 'mygroup'
- результат был в кеше (radiusReplyAttribute)
- send_search_entry выход
- send_ldap_result и send_ldap_response
На сервере ldap я попытался поместить информацию о vlan непосредственно в пользователя или в уже созданную «переменную» для информации о vlan, но получил тот же результат.
Вы знаете, откуда взялась моя проблема? Кажется, это связано с тем, что wpa_supplicant использует протокол, отличный от команды radtest и freeradius (может быть, я пропустил строку в конфигурации)?