Загрузка словаря FreeRADIUS

#c #dictionary #client #radius #freeradius

#c #словарь #клиент #radius #freeradius

Вопрос:

Я пытаюсь загрузить словарь, который поставляется с Debian Squeeze. К сожалению, в библиотеке radius-client произошел сбой в каком-то включенном файле с:

 rc_read_dictionary: unknown Vendor-Id encrypt=1 on line 7 of dictionary /usr/share/freeradius/dictionary.compat
  

Строка является

 ATTRIBUTE       Password                                2       string  encrypt=1
  

Freeradius устанавливается из пакета, поэтому я предполагаю, что это должно работать просто отлично… В чем здесь может быть проблема?

Комментарии:

1. @sixlettervariables C, но, я думаю, здесь это не имеет особого значения. rc_read_dictionary поступает из API radius-клиента и уже запущен.

2. Пытаюсь добавить теги, чтобы привлечь ваше внимание к вопросу.

3. Какую версию FreeRADIUS вы используете?

Ответ №1:

Поздний ответ, но он все еще может помочь другим, у меня возникла связанная с этим проблема.

Вы получаете эту ошибку, потому что пытаетесь использовать файл словаря, предназначенный для сервера FreeRADIUS. Клиентская библиотека «freeradius-client» не на 100% совместима с этим форматом. В частности, в вашем случае он не может обрабатывать encrypt=1 свойство атрибута.

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

 VENDOR        Cisco           9
BEGIN-VENDOR  Cisco
ATTRIBUTE     Cisco-AVPair    1  string
ATTRIBUTE     Cisco-NAS-Port  2  string
...
END-VENDOR    Cisco
  

Однако библиотека freeradius-client может анализировать VSA только в следующей форме:

 VENDOR        Cisco           9
ATTRIBUTE     Cisco-AVPair    1  string  vendor=Cisco
ATTRIBUTE     Cisco-NAS-Port  2  string  vendor=Cisco
  

Вышесказанное верно для FreeRADIUS server версии v2.1.x и freeradius-client версии v1.1.6.

Комментарии:

1. Я работал над проблемой и, вероятно, не буду тестировать решение, но в Интернете есть много похожих вопросов, поэтому я надеюсь, что кто-то еще найдет это полезным в будущем. Спасибо! Я считаю, что это правильно.