Проверка группы FreeRadius LDAP - PullRequest
0 голосов
/ 10 января 2020

Я хочу реализовать 802.1x. Компьютеры, принадлежащие Microsoft Domey, будут аутентифицированы. Порт коммутатора будет настроен в VLAN в соответствии с членством группы в компьютере. Простая конфигурация. Хорошо работает;) FreeRadius 3.0.19

Вопрос: из-за сложности AD можно ли назначить одну и ту же VLAN компьютерам из разных групп?

В настоящее время я делаю это следующим образом: в post-auth

if (Ldap-Group == VLAN16_SIEO1) {
    update reply {
        ...
    }
}

Я хочу выделить одну и ту же VLAN для таких групп, как VLAN16_BSTO1 и VLAN16_ADMCE1 и других, начиная с VLAN16_

. Я не могу использовать оператор в условии «if» = ~ FreeRadius не запускается! Можно ли проверить имя группы, чтобы не создавать много условий «если»? В моем случае эти условия будут около 800:)

любой может мне помочь, подскажите, как с помощью config можно решить эту проблему, спасибо.

1 Ответ

0 голосов
/ 11 января 2020

Включить cacheable_name в конфигурации модуля LDAP - https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/raddb/mods-available/ldap#L326

и раскомментировать строку, устанавливающую атрибут кэша: https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/raddb/mods-available/ldap#L333

Затем вы можете изменить условие сопоставления с образцом при членстве в группах LDAP-Cached-Membership[*] =~ /.*foo.*/.

Что делают cacheable_name и cacheable_dn, это создать список всех членств в группах, хранящихся в каталоге LDAP для этого конкретного пользователя, и записать эти значения в локальные атрибуты. Вы можете использовать шаблонный селектор [*], чтобы применить сопоставление с шаблоном ко всем значениям LDAP-Cached-Membership.

Одно предостережение: модуль LDAP должен быть вызван хотя бы один раз перед использованием условия, так как необходимо создать список групп.

Отредактировано для указания использования LDAP-Cached-Membership.

...