Freeradius3 и mpd5 - ошибка авторизации

Ответить
femistoklus
Сообщения: 24
Зарегистрирован: Чт фев 05, 2015 6:53 am

Freeradius3 и mpd5 - ошибка авторизации

Сообщение femistoklus » Пт дек 22, 2017 8:56 am

Доброго времени суток!

Вводные технические данные:
- OS FreeBSD 11.1 (ядро пересобрано для поддержки NAT и шейпера)
- FreeRADIUS 3 (собран из портов)
- MPD5 (собран из портов)
- Billing ABillS v0.76.45

При установке и настрйке freeradius3 использовался manual из Wiki ABillS'a: http://abills.net.ua/wiki/doku.php/abil ... eeradius_3 и примеры конфигов из папки misc/freeradius/v3/

При тестировании самого freeradius командой

Код: Выделить всё

radtest test 123456 127.0.0.1:1812 0 radsecret 0 127.0.0.1
тест проходит успешно, radius отвечает корректно и возвращает нужные параметры клиента.

Запускаю MPD5, абоненты начинают подключаться, в debug-режиме freeradius3 вижу следующее:
(0) Received Access-Request Id 131 from 127.0.0.1:61950 to 127.0.0.1:1812 length 254
(0) NAS-Identifier = "airnet67.ru"
(0) Acct-Session-Id = "3677915-L-1"
(0) NAS-Port = 1
(0) NAS-Port-Type = Virtual
(0) Service-Type = Framed-User
(0) Framed-Protocol = PPP
(0) Calling-Station-Id = "10.1.1.6"
(0) NAS-Port-Id = "vlan4"
(0) mpd-link = "L-1"
(0) Tunnel-Type:0 = PPTP
(0) Tunnel-Medium-Type:0 = IPv4
(0) Tunnel-Server-Endpoint:0 = "172.16.1.1"
(0) Tunnel-Client-Endpoint:0 = "10.1.1.6"
(0) Tunnel-Server-Auth-Id:0 = "airnet67.ru"
(0) Tunnel-Client-Auth-Id:0 = "local"
(0) User-Name = "air00090"
(0) MS-CHAP-Challenge = 0xbb1e68bd22af6f7f7c2d39e4982eb232
(0) MS-CHAP2-Response = 0x0100473ab6469357e11b5e371e60fe90fb4b0000000000000000b21c30e1dbadf08dcf07c194f6eb5f9cea3a1cb21549169f
(0) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/abills_default
(0) authorize {
(0) [preprocess] = ok
(0) mschap: Found MS-CHAP attributes. Setting 'Auth-Type = mschap'
(0) [mschap] = ok
(0) files: users: Matched entry DEFAULT at line 38
(0) [files] = ok
(0) perl: $RAD_REQUEST{'mpd-link'} = &request:mpd-link -> 'L-1'
(0) perl: $RAD_REQUEST{'User-Name'} = &request:User-Name -> 'air00090'
(0) perl: $RAD_REQUEST{'NAS-IP-Address'} = &request:NAS-IP-Address -> '127.0.0.1'
(0) perl: $RAD_REQUEST{'NAS-Port'} = &request:NAS-Port -> '1'
(0) perl: $RAD_REQUEST{'Service-Type'} = &request:Service-Type -> 'Framed-User'
(0) perl: $RAD_REQUEST{'Framed-Protocol'} = &request:Framed-Protocol -> 'PPP'
(0) perl: $RAD_REQUEST{'Calling-Station-Id'} = &request:Calling-Station-Id -> '10.1.1.6'
(0) perl: $RAD_REQUEST{'NAS-Identifier'} = &request:NAS-Identifier -> 'airnet67.ru'
(0) perl: $RAD_REQUEST{'NAS-Port-Type'} = &request:NAS-Port-Type -> 'Virtual'
(0) perl: $RAD_REQUEST{'Acct-Session-Id'} = &request:Acct-Session-Id -> '3677915-L-1'
(0) perl: $RAD_REQUEST{'Tunnel-Type'} = &request:Tunnel-Type -> 'PPTP'
(0) perl: $RAD_REQUEST{'Tunnel-Medium-Type'} = &request:Tunnel-Medium-Type -> 'IPv4'
(0) perl: $RAD_REQUEST{'Tunnel-Client-Endpoint'} = &request:Tunnel-Client-Endpoint -> '10.1.1.6'
(0) perl: $RAD_REQUEST{'Tunnel-Server-Endpoint'} = &request:Tunnel-Server-Endpoint -> '172.16.1.1'
(0) perl: $RAD_REQUEST{'Tunnel-Client-Auth-Id'} = &request:Tunnel-Client-Auth-Id -> 'local'
(0) perl: $RAD_REQUEST{'Tunnel-Server-Auth-Id'} = &request:Tunnel-Server-Auth-Id -> 'airnet67.ru'
(0) perl: $RAD_REQUEST{'Event-Timestamp'} = &request:Event-Timestamp -> 'Dec 19 2017 13:05:15 MSK'
(0) perl: $RAD_REQUEST{'NAS-Port-Id'} = &request:NAS-Port-Id -> 'vlan4'
(0) perl: $RAD_REQUEST{'MS-CHAP-Challenge'} = &request:MS-CHAP-Challenge -> '0xbb1e68bd22af6f7f7c2d39e4982eb232'
(0) perl: $RAD_REQUEST{'MS-CHAP2-Response'} = &request:MS-CHAP2-Response -> '0x0100473ab6469357e11b5e371e60fe90fb4b0000000000000000b21c30e1dbadf08dcf07c194f6eb5f9cea3a1cb21549169f'
(0) perl: $RAD_CHECK{'Auth-Type'} = &control:Auth-Type -> 'mschap'
(0) perl: $RAD_CONFIG{'Auth-Type'} = &control:Auth-Type -> 'mschap'
(0) perl: &request:Tunnel-Type:0 = $RAD_REQUEST{'Tunnel-Type:0'} -> 'PPTP'
(0) perl: &request:User-Name = $RAD_REQUEST{'User-Name'} -> 'air00090'
(0) perl: &request:Tunnel-Medium-Type:0 = $RAD_REQUEST{'Tunnel-Medium-Type:0'} -> 'IPv4'
(0) perl: &request:Tunnel-Client-Endpoint:0 = $RAD_REQUEST{'Tunnel-Client-Endpoint:0'} -> '10.1.1.6'
(0) perl: &request:Calling-Station-Id = $RAD_REQUEST{'Calling-Station-Id'} -> '10.1.1.6'
(0) perl: &request:Tunnel-Server-Endpoint:0 = $RAD_REQUEST{'Tunnel-Server-Endpoint:0'} -> '172.16.1.1'
(0) perl: &request:NAS-Port-Type = $RAD_REQUEST{'NAS-Port-Type'} -> 'Virtual'
(0) perl: &request:Tunnel-Client-Auth-Id:0 = $RAD_REQUEST{'Tunnel-Client-Auth-Id:0'} -> 'local'
(0) perl: &request:MS-CHAP-Challenge = $RAD_REQUEST{'MS-CHAP-Challenge'} -> '0xbb1e68bd22af6f7f7c2d39e4982eb232'
(0) perl: &request:NAS-IP-Address = $RAD_REQUEST{'NAS-IP-Address'} -> '127.0.0.1'
(0) perl: &request:Tunnel-Server-Auth-Id:0 = $RAD_REQUEST{'Tunnel-Server-Auth-Id:0'} -> 'airnet67.ru'
(0) perl: &request:NAS-Port = $RAD_REQUEST{'NAS-Port'} -> '1'
(0) perl: &request:Service-Type = $RAD_REQUEST{'Service-Type'} -> 'Framed-User'
(0) perl: &request:NAS-Identifier = $RAD_REQUEST{'NAS-Identifier'} -> 'airnet67.ru'
(0) perl: &request:mpd-link = $RAD_REQUEST{'mpd-link'} -> 'L-1'
(0) perl: &request:Acct-Session-Id = $RAD_REQUEST{'Acct-Session-Id'} -> '3677915-L-1'
(0) perl: &request:Event-Timestamp = $RAD_REQUEST{'Event-Timestamp'} -> 'Dec 19 2017 13:05:15 MSK'
(0) perl: &request:NAS-Port-Id = $RAD_REQUEST{'NAS-Port-Id'} -> 'vlan4'
(0) perl: &request:MS-CHAP2-Response = $RAD_REQUEST{'MS-CHAP2-Response'} -> '0x0100473ab6469357e11b5e371e60fe90fb4b0000000000000000b21c30e1dbadf08dcf07c194f6eb5f9cea3a1cb21549169f'
(0) perl: &request:Framed-Protocol = $RAD_REQUEST{'Framed-Protocol'} -> 'PPP'
(0) perl: &control:Auth-Type = $RAD_CHECK{'Auth-Type'} -> 'mschap'
(0) [perl] = ok
(0) } # authorize = ok
(0) Found Auth-Type = mschap
(0) # Executing group from file /usr/local/etc/raddb/sites-enabled/abills_default
(0) authenticate {
(0) mschap: WARNING: No Cleartext-Password configured. Cannot create NT-Password
(0) mschap: WARNING: No Cleartext-Password configured. Cannot create LM-Password

(0) mschap: Creating challenge hash with username: air00090
(0) mschap: Client is using MS-CHAPv2
(0) mschap: ERROR: FAILED: No NT/LM-Password. Cannot perform authentication
(0) mschap: ERROR: MS-CHAP2-Response is incorrect

(0) [mschap] = reject
(0) } # authenticate = reject
(0) Failed to authenticate the user
(0) Using Post-Auth-Type Reject
(0) # Executing group from file /usr/local/etc/raddb/sites-enabled/abills_default
(0) Post-Auth-Type REJECT {
(0) perl: $RAD_REQUEST{'mpd-link'} = &request:mpd-link -> 'L-1'
(0) perl: $RAD_REQUEST{'User-Name'} = &request:User-Name -> 'air00090'
(0) perl: $RAD_REQUEST{'NAS-IP-Address'} = &request:NAS-IP-Address -> '127.0.0.1'
(0) perl: $RAD_REQUEST{'NAS-Port'} = &request:NAS-Port -> '1'
(0) perl: $RAD_REQUEST{'Service-Type'} = &request:Service-Type -> 'Framed-User'
(0) perl: $RAD_REQUEST{'Framed-Protocol'} = &request:Framed-Protocol -> 'PPP'
(0) perl: $RAD_REQUEST{'Calling-Station-Id'} = &request:Calling-Station-Id -> '10.1.1.6'
(0) perl: $RAD_REQUEST{'NAS-Identifier'} = &request:NAS-Identifier -> 'airnet67.ru'
(0) perl: $RAD_REQUEST{'NAS-Port-Type'} = &request:NAS-Port-Type -> 'Virtual'
(0) perl: $RAD_REQUEST{'Acct-Session-Id'} = &request:Acct-Session-Id -> '3677915-L-1'
(0) perl: $RAD_REQUEST{'Tunnel-Type'} = &request:Tunnel-Type -> 'PPTP'
(0) perl: $RAD_REQUEST{'Tunnel-Medium-Type'} = &request:Tunnel-Medium-Type -> 'IPv4'
(0) perl: $RAD_REQUEST{'Tunnel-Client-Endpoint'} = &request:Tunnel-Client-Endpoint -> '10.1.1.6'
(0) perl: $RAD_REQUEST{'Tunnel-Server-Endpoint'} = &request:Tunnel-Server-Endpoint -> '172.16.1.1'
(0) perl: $RAD_REQUEST{'Tunnel-Client-Auth-Id'} = &request:Tunnel-Client-Auth-Id -> 'local'
(0) perl: $RAD_REQUEST{'Tunnel-Server-Auth-Id'} = &request:Tunnel-Server-Auth-Id -> 'airnet67.ru'
(0) perl: $RAD_REQUEST{'Event-Timestamp'} = &request:Event-Timestamp -> 'Dec 19 2017 13:05:15 MSK'
(0) perl: $RAD_REQUEST{'NAS-Port-Id'} = &request:NAS-Port-Id -> 'vlan4'
(0) perl: $RAD_REQUEST{'MS-CHAP-Challenge'} = &request:MS-CHAP-Challenge -> '0xbb1e68bd22af6f7f7c2d39e4982eb232'
(0) perl: $RAD_REQUEST{'MS-CHAP2-Response'} = &request:MS-CHAP2-Response -> '0x0100473ab6469357e11b5e371e60fe90fb4b0000000000000000b21c30e1dbadf08dcf07c194f6eb5f9cea3a1cb21549169f'
(0) perl: $RAD_REQUEST{'Module-Failure-Message'}[0] = &request:Module-Failure-Message -> 'mschap: FAILED: No NT/LM-Password. Cannot perform authentication'
(0) perl: $RAD_REQUEST{'Module-Failure-Message'}[1] = &request:Module-Failure-Message -> 'mschap: MS-CHAP2-Response is incorrect'
(0) perl: $RAD_REPLY{'MS-CHAP-Error'} = &reply:MS-CHAP-Error -> '?E=691 R=1 C=81ea3252ab60cf8341cabebe7fe1644f V=3 M=Authentication failed'

(0) perl: $RAD_CHECK{'Auth-Type'} = &control:Auth-Type -> 'mschap'
(0) perl: $RAD_CHECK{'Post-Auth-Type'} = &control:Post-Auth-Type -> 'Reject'
(0) perl: $RAD_CONFIG{'Auth-Type'} = &control:Auth-Type -> 'mschap'
(0) perl: $RAD_CONFIG{'Post-Auth-Type'} = &control:Post-Auth-Type -> 'Reject'
(0) perl: &request:Tunnel-Type:0 = $RAD_REQUEST{'Tunnel-Type:0'} -> 'PPTP'
(0) perl: &request:User-Name = $RAD_REQUEST{'User-Name'} -> 'air00090'
(0) perl: &request:Tunnel-Medium-Type:0 = $RAD_REQUEST{'Tunnel-Medium-Type:0'} -> 'IPv4'
(0) perl: &request:Tunnel-Client-Endpoint:0 = $RAD_REQUEST{'Tunnel-Client-Endpoint:0'} -> '10.1.1.6'
(0) perl: &request:Calling-Station-Id = $RAD_REQUEST{'Calling-Station-Id'} -> '10.1.1.6'
(0) perl: &request:Tunnel-Server-Endpoint:0 = $RAD_REQUEST{'Tunnel-Server-Endpoint:0'} -> '172.16.1.1'
(0) perl: &request:NAS-Port-Type = $RAD_REQUEST{'NAS-Port-Type'} -> 'Virtual'
(0) perl: &request:Tunnel-Client-Auth-Id:0 = $RAD_REQUEST{'Tunnel-Client-Auth-Id:0'} -> 'local'
(0) perl: &request:MS-CHAP-Challenge = $RAD_REQUEST{'MS-CHAP-Challenge'} -> '0xbb1e68bd22af6f7f7c2d39e4982eb232'
(0) perl: &request:NAS-IP-Address = $RAD_REQUEST{'NAS-IP-Address'} -> '127.0.0.1'
(0) perl: &request:Tunnel-Server-Auth-Id:0 = $RAD_REQUEST{'Tunnel-Server-Auth-Id:0'} -> 'airnet67.ru'
(0) perl: &request:Module-Failure-Message += $RAD_REQUEST{'Module-Failure-Message'} -> 'mschap: FAILED: No NT/LM-Password. Cannot perform authentication'
(0) perl: &request:Module-Failure-Message += $RAD_REQUEST{'Module-Failure-Message'} -> 'mschap: MS-CHAP2-Response is incorrect'

(0) perl: &request:NAS-Port = $RAD_REQUEST{'NAS-Port'} -> '1'
(0) perl: &request:Service-Type = $RAD_REQUEST{'Service-Type'} -> 'Framed-User'
(0) perl: &request:NAS-Identifier = $RAD_REQUEST{'NAS-Identifier'} -> 'airnet67.ru'
(0) perl: &request:mpd-link = $RAD_REQUEST{'mpd-link'} -> 'L-1'
(0) perl: &request:Acct-Session-Id = $RAD_REQUEST{'Acct-Session-Id'} -> '3677915-L-1'
(0) perl: &request:Event-Timestamp = $RAD_REQUEST{'Event-Timestamp'} -> 'Dec 19 2017 13:05:15 MSK'
(0) perl: &request:NAS-Port-Id = $RAD_REQUEST{'NAS-Port-Id'} -> 'vlan4'
(0) perl: &request:MS-CHAP2-Response = $RAD_REQUEST{'MS-CHAP2-Response'} -> '0x0100473ab6469357e11b5e371e60fe90fb4b0000000000000000b21c30e1dbadf08dcf07c194f6eb5f9cea3a1cb21549169f'
(0) perl: &request:Framed-Protocol = $RAD_REQUEST{'Framed-Protocol'} -> 'PPP'
(0) perl: &reply:Reply-Message = $RAD_REPLY{'Reply-Message'} -> 'REJECT Wrong password (Reject)'
(0) perl: &reply:MS-CHAP-Error = $RAD_REPLY{'MS-CHAP-Error'} -> '?E=691 R=1 C=81ea3252ab60cf8341cabebe7fe1644f V=3 M=Authentication failed'
(0) perl: &control:Auth-Type = $RAD_CHECK{'Auth-Type'} -> 'mschap'
(0) perl: &control:Post-Auth-Type = $RAD_CHECK{'Post-Auth-Type'} -> 'Reject'
(0) [perl] = reject
(0) } # Post-Auth-Type REJECT = reject
(0) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
В интерфейсе администратора в логе подключения появляется ошибка REJECT Wrong password, мол ошибка и пароль неверный...

Как я не пытался "гуглить" ошибку, провести аналогию с примерами настройки freeradius2, экспериментировать с настройками radius'a, к сожалению, это не принесло положительного результата...
Все мои поиски в Google, на вашем форуме и других ресурсах всемирной паутины, сводились к тому, что freeradius должен в итоге получить пароль в режиме clear-text (если я не прав, то поправьте меня). Тем более внутренний тест радиус проходит успешно, а в тесте я radius'у "скармливаю" пароль в чистом виде.

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

P.S. На данный момент я решил проблему следующим путем: так как на FreeBSD 11 freeradius2 больше не поддерживается, то я в "принудительном" порядке (используя специальный аргумент при сборке) собрал из портов freeradius2, использовал готовые конфиги из папки misc/freeradius/v2 и у меня все сразу заработало! Но интерес к нерешенной проблеме с freeradius3 так и не покидает меня)) Очень бы хотелось узнать, в чем же заключается проблема и "где собака зарыта"?...))

Заранее благодарю за помощь!

~AsmodeuS~
Site Admin
Сообщения: 5556
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Freeradius3 и mpd5 - ошибка авторизации

Сообщение ~AsmodeuS~ » Пт дек 22, 2017 9:45 am

была поломана логина ms-chap атворизации для freeradius 3

уже поправлено в 0.76.85

femistoklus
Сообщения: 24
Зарегистрирован: Чт фев 05, 2015 6:53 am

Re: Freeradius3 и mpd5 - ошибка авторизации

Сообщение femistoklus » Пт дек 22, 2017 1:12 pm

Спасибо за ответ!
~AsmodeuS~ писал(а): уже поправлено в 0.76.85
А где можно скачивать свежие версии? Просто на sourceforge для скачивания доступна только 0.76.45

~AsmodeuS~
Site Admin
Сообщения: 5556
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Freeradius3 и mpd5 - ошибка авторизации

Сообщение ~AsmodeuS~ » Пт дек 22, 2017 1:24 pm

femistoklus писал(а):Спасибо за ответ!
~AsmodeuS~ писал(а): уже поправлено в 0.76.85
А где можно скачивать свежие версии? Просто на sourceforge для скачивания доступна только 0.76.45
для коммерческих пользователей есть репозиторий с гарячими багфиксами

для все остальных файлы на sf

новый релиз должен выйти на днях

Ответить