Назад | Перейти на главную страницу

FreeRADIUS - Используйте разные конвейеры для разных клиентов

В настоящее время у меня есть установка FreeRADIUS с использованием EAP-TTLS.

Я хотел бы настроить его так, чтобы запросы, поступающие с localhost, использовали PAP, но другие запросы по-прежнему использовали EAP-TTLS.

Как выбрать метод аутентификации для каждого клиента?

Вы можете использовать %{client:} расширение до атрибутов запроса клиента, с которого был создан запрос.

authorize {
    if ("%{client:shortname}" == 'localhost') {
        pap
    } else {
        eap
    }
}

Добавление приведенного выше фрагмента приведет к вызову модуля pap, если клиент был настроен с коротким именем localhost, в противном случае будет вызван модуль eap.

Фактически вы можете разместить произвольные атрибуты в разделе клиента и ссылаться на них с расширением клиента, т.е.

client my_client {
    ipaddr = 127.0.0.1
    foo = 'bar'
}

"%{client:foo}" # Which would expand to "bar"