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

UBNT vs. FreeRadius WPA2-PEAP mschapv2

Добрый день уважаемые форумчане, у кого нибудь получилось настроить Radius-клиент AirOS V на работу с FreeRadius ?

 

Бюсь уже не первую неделю, грешил на настройки радиус-сервера, но всё больше склоняюсь, к тому, что не работает клиент, ибо в логах сервера пусто совсем, а в логах AirOS лишь одна строчка:

syslog: ath0: RADIUS Authentication server 192.168.1.3:1812

И отловить активность на 1812 порту сервера не удалось :

 

Может кто сталкивался, или у кого-нибудь работает?

Share this post


Link to post
Share on other sites

пробовал раньше на наностейшн 2 хостапд и фрирадиус на сервере!

конфиг к хостапд и старт хостапд записывал в папку /etc/persistent/

запуск в rc.poststart

 

но у меня немного другая задача была - хотел аторизацию по маках сделать!

Share this post


Link to post
Share on other sites

Работает. Используется связка радиус-клиент (nanostation m2) -> freeradius -> Abills. Клиенты к БС подключаются по peap или tls.

Share this post


Link to post
Share on other sites

Работает. Используется связка радиус-клиент (nanostation m2) -> freeradius -> Abills. Клиенты к БС подключаются по peap или tls.

вопрос не совсем в тему - к Абилсу дописывали что-то для реализации? или использовали то что в нём есть ?

Share this post


Link to post
Share on other sites

вопрос не совсем в тему - к Абилсу дописывали что-то для реализации? или использовали то что в нём есть ?

"Из коробки" работает только авторизация, в мониторинг ничего не попадает. Но в моём случае аккаунтинга по радиусу и не требовалось, поэтому ничего не дописывал. Думаю, допилить можно.

Edited by namake

Share this post


Link to post
Share on other sites

Спасибо, вроде настроил:

ошибка была из-за того, что использую биллинг freenibs и пытался его через peap с зашифрованным паролем пустить, с открытым паролем заработало,

 

но остался один вопрос: Windows-клиент не получает IP от радиуса(висит получение сетевого адреса...), хотя сервер его отправляет:

Sending Access-Challenge of id 60 to 192.168.1.20 port 2048
        Framed-IP-Address = 192.168.1.9
        Framed-IP-Netmask = 255.255.255.255
        Session-Timeout = 3313253
        EAP-Message = 0x0145004a1900170301003f3c3c8965550d61575db1d805c48330ffdf48ec12eb15cb3490217519
6b528ddcea38fe4ff404fc03ff2f9a75479b4d17dd35101146c72575797324f7115e4d
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0x08a6bf98860456c0359919a34ea59489
Finished request 14

 

из-за чего это может быть, и как исправить?

FreeRADIUS 1.1.8 так что DHCP сервер вродене встроен....

 

2 namake

У Вас такой проблемы не возникало?

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

 

ЗЫ: FreeNIBS с FreeRADIUS 2.х.х компилироваться отказывается, а моих знаний FreeRADIUS пока не хватает, для того чтоб подправить модуль....

Share this post


Link to post
Share on other sites

Насколько я понимаю, eap не предусмаривает назначение адреса. Только проверка подлинности, контроль доступа. Версия 2.0.5

Edited by namake

Share this post


Link to post
Share on other sites
Windows-клиент не получает IP от радиуса(висит получение сетевого адреса...), хотя сервер его отправляет:
IP-адрес выдается клиенту, как правило, Network Access Server`ом. Он в свою очередь является radius-клиентом и получает от radius-сервера информацию, в которой и содержится ip-адрес, который надо назначить windows-клиенту.

Если вы используете pppoe или pptp, то смотрите, что происходит между соответствующим сервером и radius-сервером.

Если вы НЕ используете pppoe или pptp, ищите куда подевался dhcp-сервер.

Edited by spy

Share this post


Link to post
Share on other sites

ЗЫ: FreeNIBS с FreeRADIUS 2.х.х компилироваться отказывается, а моих знаний FreeRADIUS пока не хватает, для того чтоб подправить модуль....

Выложите кусок лога, предшествующий остановке процесса сборки, наверняка не хватает каких-то библиотек.

Share this post


Link to post
Share on other sites
Насколько я понимаю, eap не предусмаривает назначение адреса. Только проверка подлинности, контроль доступа.
Выделение ИП происходит средствами биллинга (freenibs), как я понял он просто присваевает значение атрибутам Framed-IP-Address и Framed-IP-Netmask, что видно из логов:

Sending Access-Accept of id 107 to 192.168.1.20 port 2048
        Framed-IP-Address = 192.168.1.5
        Framed-IP-Netmask = 255.255.255.0
        MS-MPPE-Recv-Key = 0x44c523fef85f24fe64be8d7cb5c398fe1e49352ffe6a84de89771bbbe15e60f9
        MS-MPPE-Send-Key = 0xbf7cd4b348edca42bc67d3e4dc3ca85cce22ff82024363b8dd88e8ed19e38cd9
        EAP-Message = 0x037d0004
        Message-Authenticator = 0x00000000000000000000000000000000
        User-Name = "test"
Finished request 8

 

 

Он в свою очередь является radius-клиентом и получает от radius-сервера информацию, в которой и содержится ip-адрес, который надо назначить windows-клиенту.
Да, радиус-клиент висит на ТД UBNT, но в логах ТД пусто: такое чувство, что клиент не получает соотв. параметры:

Dec 11 00:14:10 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:14:17 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: associated
Dec 11 00:14:17 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: pairwise key handshake completed (RSN)
Dec 11 00:14:17 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Dec 11 00:19:14 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:19:22 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: associated
Dec 11 00:19:22 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: pairwise key handshake completed (RSN)
Dec 11 00:19:22 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Dec 11 00:21:13 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: group key handshake completed (RSN)
Dec 11 00:31:13 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: group key handshake completed (RSN)
Dec 11 00:31:46 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:31:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: associated
Dec 11 00:31:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: pairwise key handshake completed (RSN)
Dec 11 00:31:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Dec 11 00:35:49 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:35:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: associated
Dec 11 00:35:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: pairwise key handshake completed (RSN)
Dec 11 00:35:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Dec 11 00:41:13 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: group key handshake completed (RSN)
Dec 11 00:44:53 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:45:01 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: associated
Dec 11 00:45:02 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: pairwise key handshake completed (RSN)
Dec 11 00:45:02 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
Dec 11 00:51:13 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: group key handshake completed (RSN)
Dec 11 01:01:13 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 WPA: group key handshake completed (RSN)

Не подскажите, случайно, как во FreeRADIUS можно присвоить атрибуты:

Framed-Route

MS-Primary-DNS-Server

MS-Secondary-DNS-Server

 

А то ни с помощью hints ни с помощью attrs не получается (или я не верно делаю)

 

Если вы НЕ используете pppoe или pptp, ищите куда подевался dhcp-сервер.
нет, тоннелей я не использую.... А ДХЦП-сервер где должен быть поднят? и как(кто) ему будет передавать ИП/маску и т.д. (не очень понимаю как это может делать Radius-Client)

 

Выложите кусок лога, предшествующий остановке процесса сборки, наверняка не хватает каких-то библиотек.
нет, дело, увы не в библиотеках: долго мурыжал, прежде чем бросить, но проблема, помимо файлов-заголовков (которые легко правятся :) ) в изменившемся формате некоторых функций, моего знания программирования и Radius-а не хватило, на то, чтоб переделать freenibs, но может потом ещё вернусь....

ошибка здесь (с 11 поста и до конца страницы):

http://forum.netbynet.ru/index.php?showtop...t&p=1624990

Edited by NewUse

Share this post


Link to post
Share on other sites
да, радиус-клиент висит на ТД UBNT, но в логах ТД пусто: такое чувство, что клиент не получает соотв. параметры:

Dec 11 00:14:10 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.11: disassociated
Dec 11 00:14:17 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
...
Dec 11 00:19:22 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
...
Dec 11 00:31:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)
...
Dec 11 00:35:56 UBNT daemon.info hostapd: ath0: STA 00:12:f0:c0:6f:94 IEEE 802.1X: authenticated - EAP type: 25 (PEAP)

Есть подозрение, что ваша ТД не является полноценным NAS, а работает по аналогии с ethernet-коммутатором, который разрешает или запрещает работу порта по 802.1х. Иными словами ТД ждет прихода Access-Acept или Access-Reject пакета, и разрешает или запрещает работу беспроводного устройства, при этом содержимое пакета игнорируется и не может быть использовано, какие-бы вы атрибуты не передавали.

 

Из опыта развертывании мини-сетей с авторизацией абонентов приведу пример. Все ТД были соединены по WDS и подключены на linux-роутер, где крутился chillispot, который и выполнял функции NAS. Вот там как раз chilli отвечал за динамическое создание "прозрачного" туннеля и за назначение ip-адресов, маршрутов и ДНС абоненту. Chilli был завязан на биллинг.

 

Не подскажите, случайно, как во FreeRADIUS можно присвоить атрибуты:

Framed-Route

MS-Primary-DNS-Server

MS-Secondary-DNS-Server

 

А то ни с помощью hints ни с помощью attrs не получается (или я не верно делаю)

Радиус-сервер может брать атрибуты из разных мест. У вас атрибуты берутся из базы, куда их (атрибуты) в свою очередь записывает биллинг, поэтому все необходимые атрибуты биллинг должен уметь передавать. Если вы можете передать какие-то конкретные атрибуты а другие нет, возможно проблема в том, что биллинг не знает об их существовании - нужно добавить словари с атрибутами. Но как это делает в Abills - хз.

Share this post


Link to post
Share on other sites
Есть подозрение, что ваша ТД не является полноценным NAS, а работает по аналогии с ethernet-коммутатором, который разрешает или запрещает работу порта по 802.1х. Иными словами ТД ждет прихода Access-Acept или Access-Reject пакета, и разрешает или запрещает работу беспроводного устройства, при этом содержимое пакета игнорируется и не может быть использовано, какие-бы вы атрибуты не передавали.
Это было бы очень печально, а можно ли это как-то уточнить, попробую запостить на форум ubnt но там как-то глухо.....

 

 

Радиус-сервер может брать атрибуты из разных мест. У вас атрибуты берутся из базы, куда их (атрибуты) в свою очередь записывает биллинг, поэтому все необходимые атрибуты биллинг должен уметь передавать. Если вы можете передать какие-то конкретные атрибуты а другие нет, возможно проблема в том, что биллинг не знает об их существовании - нужно добавить словари с атрибутами. Но как это делает в Abills - хз.
Не могли бы Вы пояснить немного для полного лаймера:

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

У меня не Abills, а FreeNIBS, выполнен в виде модуля для FreeRADIUS , и по сути является переделкой штатного rlm_sql.

 

Ещё вопрос касаемо словарей, я не нашёл настройки FreeRadius, позволяющей их подключать :((

Не подскажите, как ими пользоваться? По сути мне нужен основной словарь и дополнительный dictionary.microsoft ....

 

 

 

Share this post


Link to post
Share on other sites
Не могли бы Вы пояснить немного

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

У меня не Abills, а FreeNIBS, выполнен в виде модуля для FreeRADIUS , и по сути является переделкой штатного rlm_sql.

Прошу прощения, невнимательно прочитал ваш пост, значит у вас FreeNIBS. В конфиге радиуса в каждой секции последовательно перечислены модули, которые вызываются при аутентификации, авторизации и т.д. именно в том порядке в котором они перечислены. Кроме этого, каждый модуль при вызове возвращает образно говоря "no", если переданные в модуль данные небыли обработаны и "yes" (образно), если модуль начал что-то делать. Дальше - глубже, если модуль например принял username и password, нашел совпадение у себя, обработал, выдал ответ, то другие модули в текущей секции уже не вызываются, чтобы не было путаницы.

Пример, у меня в секции authorize идут последовательно unix, files, sql, ldap. При "опознании" юзера, модули вызываются один за другим, и если например юзер найден в passwd (модуль unix) то вызов других модулей не производится.

 

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

Если у Вас хранилищем учетных записей является СУБД, то стоит поискать в таблицах, где хранятся атрибуты выдаваемые в случае "Accept". Уверен, в одном из полей, эти атрибуты перечислены в строку, попробуйте поискать.

 

В FreeRad ветки 2.х есть много функций, позволяющих добавлять и подменять любые поля запроса и ответа, но увы это требует времени на отладку и не факт, что будет работать именно с Вашим модулем.

Ещё вопрос касаемо словарей, я не нашёл настройки FreeRadius, позволяющей их подключать :((

Не подскажите, как ими пользоваться? По сути мне нужен основной словарь и дополнительный dictionary.microsoft ....

Все словари, например у меня в Debian, лежат в /usr/share/freeradius . Где они у Вас, я не знаю. В комплекте Freeradius 2.1.9 есть словарь атрибутов Microsoft.
Edited by spy

Share this post


Link to post
Share on other sites
Пример, у меня в секции authorize идут последовательно unix, files, sql, ldap. При "опознании" юзера, модули вызываются один за другим, и если например юзер найден в passwd (модуль unix) то вызов других модулей не производится.

 

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

Я пытался переприсвоить через attr_filter, только не понял синтаксис файла attr

 

Все словари, например у меня в Debian, лежат в /usr/share/freeradius . Где они у Вас, я не знаю. В комплекте Freeradius 2.1.9 есть словарь атрибутов Microsoft.
Да, есть такое, просто смутило, что в конфигурационном файле radius.conf нет явной ссылки на файлы словарей...... И, у меня права так расставлены, что РАДИУС не должен иметь доступа к словарям, а он гад, даже не ругается.....

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