Jump to content

Recommended Posts

Posted

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

 

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

syslog: ath0: RADIUS Authentication server 192.168.1.3:1812

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

 

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

Posted

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

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

запуск в rc.poststart

 

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

Posted

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

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

Posted (edited)

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

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

Edited by namake
Posted

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

ошибка была из-за того, что использую биллинг 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 пока не хватает, для того чтоб подправить модуль....

Posted (edited)

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

Edited by namake
Posted (edited)
Windows-клиент не получает IP от радиуса(висит получение сетевого адреса...), хотя сервер его отправляет:
IP-адрес выдается клиенту, как правило, Network Access Server`ом. Он в свою очередь является radius-клиентом и получает от radius-сервера информацию, в которой и содержится ip-адрес, который надо назначить windows-клиенту.

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

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

Edited by spy
Posted

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

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

Posted (edited)
Насколько я понимаю, 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
Posted
да, радиус-клиент висит на ТД 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 - хз.

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

 

 

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

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

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

 

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

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

 

 

 

Posted (edited)
Не могли бы Вы пояснить немного

Умеет ли 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
Posted
Пример, у меня в секции 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 нет явной ссылки на файлы словарей...... И, у меня права так расставлены, что РАДИУС не должен иметь доступа к словарям, а он гад, даже не ругается.....

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.