Здравствуйте.
Есть accel-ppp, на котором реализован доступ в корпоративную сеть по протоколам PPTP и L2TP. Авторизация происходит через Freeradius, работающий с пользователями в AD. Freeradius также возвращает список групп пользователя в собственных Vendor-specific атрибутах. Хотелось бы использовать эти атрибуты в скриптах ip-up|ip-down. При этом сталкиваюсь со следующей проблемой.
В конфигурации без подключения словаря RADIUS accel-ppp работает штатно, дополнительные атрибуты получает и пишет их в radattr.${ifname} в виде HEX-строк, что не очень удобно:
Спойлер
Vendor-Specific 0000949F0A2431746668666768666768727468727468727468727468727468727468727468727468
Vendor-Specific 0000949F0A2731746768687274687274687234356872746872746872746872746872746872746872746866
Vendor-Specific 0000949F0A26317468666768666768666768666768666768666768666768666768666768666768666768
Vendor-Specific 0000949F0A4931D0B0D0BFD0BED180D0B5D0BDD0BED0BDD0B5D0BBD0BED0BDD0B3D0BBD0B5D0BED0BAD0B5D180D0BAD183D0B5D180D0BAD0B5D180D0BAD0B5D180D0BAD0B5D180D0BAD0B5D180
Vendor-Specific 0000949F0A5F31D0B2D0B0D0BFD0BDD180D0B5D0BDD0B33637D0BDD0BBD0BED0B0D0BAD0B5D0BFD180D183D186D0B0D0BFD183D186D0B0D187D18FD187D0B2D0B0D0BCD0BFD180D182D0BED0BBD0B4D188D189D0B7D189D0BAD0B5D0BFD183D186D0B0
Хотелось бы видеть их в обычном UTF-8, для чего попробовал подключить словарь, используемый freeradius, опцией dictionary в секции [radius]:
Спойлер
VENDOR Elserv 38047
BEGIN-VENDOR Elserv
ATTRIBUTE Elserv-Primary-GID 1 integer
ATTRIBUTE Elserv-Group-Membership 10 string
END-VENDOR Elserv
После подключения словаря сессии L2TP (в 09:50:53) и PPTP (в 09:51:09) не устанавливаются и авторизация не проходит. В логах следующая информация:
Спойлер
2020-11-19 09:50:53]: info: l2tp: new tunnel 2964-11 created following reception of SCCRQ from 1.1.1.3:1701
[2020-11-19 09:50:53]: info: l2tp tunnel 2964-11 (1.1.1.3:1701): established at 1.1.1.1:1701
[2020-11-19 09:50:53]: info: l2tp tunnel 2964-11 (1.1.1.3:1701): new session 27743-1 created following reception of ICRQ
[2020-11-19 09:50:53]: info: : <username>: authentication failed
[2020-11-19 09:50:53]: info: <username>: authentication failed
[2020-11-19 09:50:53]: info: l2tp session 2964-11, 27743-1: data channel closed, disconnecting session
[2020-11-19 09:50:53]: info: l2tp tunnel 2964-11 (1.1.1.3:1701): no more session, disconnecting tunnel
[2020-11-19 09:51:09]: info: : <username>: authentication failed
[2020-11-19 09:51:09]: info: <username>: authentication failed
[2020-11-19 09:51:10]: info: : disconnected
Спойлер
radius: out of memory
radius: out of memory
Комментирование опции dictionary=... работоспособность восстанавливает (с атрибутами в виде HEX-строк).
Ситуация похожа на описанную
тут.
Вопросов собственно два - как бы починить падение модуля radius и как получить вендорские атрибуты в текстовом виде с подключенным дополнительным словарем.