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

Как настроить FreeRADIUS для использования с выбором группы strongSwan?

При создании службы VPN с помощью strongSwan мне нужно различать несколько групп пользователей, где каждой группе назначена определенная подсеть с определенными разрешениями (например, «группа x» имеет доступ только к определенной части локальной подсети, например 192.168.10.10/ 32).

Официальная вики strongSwan допускает только так называемый «групповой выбор». с RADIUS-сервером.

Теперь, согласно Wiki, есть две возможности получить информацию о членстве в группе; либо путем чтения и интерпретации класс атрибут, отправленный в ответе RADIUS-Accept или интерпретируя Filter-Id атрибут. В статье не освещаются (недостатки) преимущества того или иного метода.

Хотя мне казалось, что использование RADIUS-сервера, такого как FreeRADIUS, было немного излишним - я бы предпочел решение, предоставляемое strongSwan, некоторыми плагинами и т. Д. - я установил и настроил FreeRadius, и вот где я застрял.

Я остановился на первом методе (используя класс атрибут для отправки обратно информации о членстве в группе).

В конфигурационном файле для модуля rlm_files (freeradius/3.0/mods_config/files/authorize) Настроил Боба:

#
# The canonical testing user which is in most of the
# examples.
#
bob     Cleartext-Password := "hello"
        Reply-Message := "Hello, %{User-Name}"
#       Class := "myclass"

Аутентификация работает без проблем, единственное, чего не хватает, это класс атрибут. На этой странице перечислены все доступные атрибуты FreeRADIUS.. Я искал Класс атрибут и попытался установить значение (см. выше), которое демон не смог прочитать.

В файле также четко сказано

Строки с отступом (с символом табуляции), следующие за первой строкой, указывают значения конфигурации, которые должны быть переданы обратно на коммуникационный сервер, чтобы позволить инициировать сеанс пользователя. Это может включать в себя такие вещи, как значения конфигурации PPP или хост, на котором будет регистрироваться пользователь.

Ищу в сети, этот пост на serverfault похоже, использует аналогичный подход, но с другим сервером LDAP. До сих пор не было необходимости в сервере LDAP, и это означало бы, что нужно полагаться на другую зависимость или другую службу.

Я также не могу использовать пароли в открытом виде (как это делает Боб), вместо этого я бы предпочел аутентификацию на основе сертификатов.

Как правильно настроить FreeRADIUS (и, если необходимо, любые другие зависимости) для групповых политик? Какие у меня есть возможности?

Вам не хватает запятой в конце Reply-Message линия.

См. Примеры в страница руководства по файлам пользователей.