Jump to content
Калькуляторы

Freeradius + PEAP + Python

Добрый день!

 

Имеем freeradius, использующий python скрипт для авторизации. С pppoe авторизацией все работает, пытаемся тот же скрипт

приспособить для 802.1x авторизации PEAP.

Для pppoe функция authorize возвращает такую структуру

(radiusd.RLM_MODULE_UPDATED,

(('Framed-IP-Address', user_ip),

('Framed-IP-Netmask','255.255.255.255')),

(('Cleartext-Password', password),

('Auth-Type', 'MS-CHAP'),)

)

То же самое работает для авторизации EAP MD5.

 

Но для PEAP авторизации не работает. Не знает ли кто что нужно вернуть для PEAP?

 

Пробовали разные варианты, в т.ч.

(radiusd.RLM_MODULE_UPDATED,

(('Framed-IP-Address', user_ip),

('Framed-IP-Netmask','255.255.255.255')),

(('Cleartext-Password', password),

('Auth-Type', 'EAP'),)

)

и

(radiusd.RLM_MODULE_UPDATED,

(('Cleartext-Password', password),)

)

В логе ошибка Auth: Login incorrect: [OneMoreLogin/<via Auth-Type = EAP>]

Авторизацию выполняет D-Link DES-3028

PEAP авторизация без скрипта (логины-пароли в текстовом файле) работает.

 

Share this post


Link to post
Share on other sites

Запустите радиус в дебаге (radiusd -X) - будет выводить что за атрибуты прилетают и уходят. Авторизуйтесь с PEAP через файл, по идее увидите что нужно отдавать.

 

Share this post


Link to post
Share on other sites

Благодарю, неделю смотрели, глаза стерли об эти полотна дебага. В итоге оказалось что в inner-tunnel тоже нужно отрабатывать все теже действия. Теперь всё поехало.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this