Название: DHCP + Opt82 + Radius Отправлено: fet4 от 14 Ноября 2017, 19:54:32 Привет всем!
Кто какое имя пользователя передает через радиус в случае авторизации по opt 82 (device_mac+port)? Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 14 Ноября 2017, 22:24:19 это типа шутки или как?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Ноября 2017, 10:22:48 В чем Вы видите шутку?
Допустим при схеме vlan-per-user в качестве username выступает номер vlan. В моем случае я авторизую клиента по opt82 и тут немного сложней получается. Можно ли как-то учитывать еще два атрибута прилетающих от радиуса в процедурах mysql Код: DHCP-Agent-Circuit-Id Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 15 Ноября 2017, 10:24:48 Не, я думаю не шутка, в dhcp по дефолту в атрибут username записывается мак-адрес абона. Дальше он передается в процедуру radcheck. Порт и мак устройства никуда не передается. Я думаю можно radcheck изменить, чтобы она принимала и проверяла эти параметры. Надо будет глянуть...
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Ноября 2017, 12:16:41 Не, я думаю не шутка, в dhcp по дефолту в атрибут username записывается мак-адрес абона. Дальше он передается в процедуру radcheck. Порт и мак устройства никуда не передается. Я думаю можно radcheck изменить, чтобы она принимала и проверяла эти параметры. Надо будет глянуть... Это будет то что нужно. Готов оплатить Ваш труд. Есть стенд на котором можно проверить.Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 15 Ноября 2017, 12:50:12 Не, я думаю не шутка, в dhcp по дефолту в атрибут username записывается мак-адрес абона. Ну я это и имел ввиду.Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Ноября 2017, 13:12:54 Не, я думаю не шутка, в dhcp по дефолту в атрибут username записывается мак-адрес абона. Ну я это и имел ввиду.Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 15 Ноября 2017, 15:24:00 Тут не вопрос как можно сделать, а вопрос в том как кодирует опцию то устройство, которое вы в качестве дхцп сервера используете. В соответсвии с этим нужно переработать процедуру обработки и настройки радиус сервера. На самом деле - это только вершина айсберга под названием "авторизация по опции 82". Ягодки начнутся потом, когда вы поймете - что это не совсем то, что вы хотели.... а то что хотели делается слегка другими средствами. Поэтому для начала опишите ЧТО именно вы хотите получить.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Ноября 2017, 22:51:53 В данный момент используется модуль dhcp на основе isc-dhcp-server. Пользователи авторизуются по option82, часть из них по mac+dev_mac+port, другая часть по dev_mac+port (один на порту).
Есть задача перенести авторизацию через freeradius, в качестве dhcp сервера выступает accel-ppp что в принципе не столь важно кто им будет, главное чтобы радиус отдавал то что нужно. Разобравшись в вопросе я понял что мне не хватает всего-лишь правильных mysql процедур в которых бы учитывался не только mac адрес клиента. Вот пример прилетающих атрибутов через радиус. Скорей всего они передаются в не измененном виде которые приходят с коммутаторов. Код: <Relay-Agent {Agent-Circuit-ID _000400720019} {Agent-Remote-ID _ 0006ec228025b5e0}> Если в чем-то я не прав поправьте. Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 16 Ноября 2017, 09:16:45 И да и нет. Я не зря поросил написать что именно вы хотите а не как вы это хотите сделать. Объясню на примере isc-dhcp. Обычно от дхцп в таких случаях хотят чтобы абонент получал адрес в ответ на запрос с любого мака. Все бы хорошо но в большинстве случаев это прямо противоречит самому протоколу дхцп например в случаях, действующего лизинга. В такие моменты абонент будет получать отказ «но фри лизе». И тут вдруг оказывается что используемый дхцп по другому не умеет. А вы точно уверены что ваш аксель настолько хорош что стоит под него делать новые процедуры? Чем вообще вызвана необходимость использования акселя? Просто тем что у вас линукс? Или чем?
Название: Re: DHCP + Opt82 + Radius Отправлено: elite от 16 Ноября 2017, 12:55:50 Cell
дядька, от тут ты точно не прав accel - действительно крутая штука Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Ноября 2017, 13:10:19 Цитировать Обычно от дхцп в таких случаях хотят чтобы абонент получал адрес в ответ на запрос с любого мака По-моему так и должно быть, как клиент сможет авторизоваться на порту если у него не будет Ip? А неизвестные маки и их Ip уже редиректить на заглушку авторизации. В случае с радиусом можно можно выдавать Access-Reject и обрабатывать как угодно.Цитировать А вы точно уверены что ваш аксель настолько хорош что стоит под него делать новые процедуры? Думаю если бы были такие процедуры их можно было бы применять где угодно на том же микроте с минимальными правками и со всем остальным что умеет радиус.Цитировать Чем вообще вызвана необходимость использования акселя? Просто тем что у вас линукс? Или чем? Да. С accel и линуксом я подружился, я знаю их по мере своих потребностей. Тот же микрот я не знаю и мне больше по душе голый линуск. А на фре насколько мне известно dhcp через радиус развернуть нельзя.Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 16 Ноября 2017, 14:43:46 Ладно. Чего вы спорите? Если не учитывать мак свича и порт, то вы эти (http://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius) процедуры используете?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Ноября 2017, 15:26:12 Да на тестовом сервере их пробовал, по маку работает без вопросов.
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 16 Ноября 2017, 17:44:53 Попробуй:
Код: DROP PROCEDURE IF EXISTS `radreply`; Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 16 Ноября 2017, 20:06:05 Cell Во-первых я не говорил что он плох, по этому я не понимаю почему я точно не прав.дядька, от тут ты точно не прав accel - действительно крутая штука Во-вторых разу уж ты точно знаешь что это крутая штука, так обоснуй каким-то другим способом. Например расскажи как ведет себя аксель, когда у него в лизинге находится какой-то ип адрес скажем А от порта скажем Б и вдруг с порта Б приходит запрос на получение адреса для совершенно другого устройства. Ситуация вполне жизненная - абонент выключил свой комп и включил ноутбук соседа или утюг подключил к сети или еще что-то. Я, например не знаю, как он себя ведет, но ты, видимо поюзав его основательно (ну для того чтобы сказать что я ТОЧНО не прав) как раз знаешь это очень хорошо. Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 16 Ноября 2017, 20:07:18 Цитировать Обычно от дхцп в таких случаях хотят чтобы абонент получал адрес в ответ на запрос с любого мака По-моему так и должно быть, как клиент сможет авторизоваться на порту если у него не будет Ip? А неизвестные маки и их Ip уже редиректить на заглушку авторизации. В случае с радиусом можно можно выдавать Access-Reject и обрабатывать как угодно.Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 17 Ноября 2017, 21:21:54 Efendy насколько я понял надо бы еще передать эти два параметра в sql.conf
Код: authorize_check_query = "call radcheck('%{User-Name}', '%{DHCP-Agent-Remote-Id}', '%{DHCP-Agent-Circuit-Id}')" И потом обработать их в radcheck. Или вы хотите просто посмотреть что отдает данная Вами процедура radreply? Cell Цитировать Например расскажи как ведет себя аксель, когда у него в лизинге находится какой-то ип адрес скажем А от порта скажем Б и вдруг с порта Б приходит запрос на получение адреса для совершенно другого устройства. Я проверю как он ведет себя. Но думаю до выдачи дело не дойдет т.к. ip-source-guard на коммутаторе заблокирует такое поведение до момент пока связка на порту Б не закончится.Цитировать Научитесь сначала читать, а потом понимать то что написано. Давайте делом заниматься. :)Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 17 Ноября 2017, 23:43:23 я не хочу ничего смотреть) я написал процедуру, которая по идее должна работать. Почему по идее? Я ее потестил локально, т.е она работает. Дальше уже надо смотреть не ошибся ли я в логике. Ибо логика при опции 82 и без несколько отличается, хотя кажется, что по сути ничего не меняется: в одном случае у клиента проверяется мак, в другом случае мак+устройство+порт. Вроде бы отличий нет за исключением количества проверяемого. Но на самом деле есть, например, если меняется устройство или порт, то у нас есть 2 варианта поведения:
1) если абонента перетыкнули в другой порт или сменили свич, то необходимо "забыть" связку и назначить новую после ввода пароля в личном кабинете 2) послать нафик ибо это могла быть вовсе не ситуация с перетыканием в другой порт, а кто-то пытается подменить мак Я выбрал первый вариант ибо он наиболее вероятен, в противном случае придется все эти ситуации разруливать в админке постоянно выслушивая по телефону "долбоебы, когда у меня будет инет". С другой стороны если таки будет хакер, то самой попыткой подменить мак он затрет связку валидного абона и тому придется заново вводить пароль. Думаю этим можно принебречь Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 18 Ноября 2017, 00:09:21 Efendy
Да первый вариант лучше. "Один на порту" будет отрабатывать ? Я правильно понял мы меняем всего-лишь radreply по данной документации (h__p://nodeny.com.ua/wiki/index.php/Dhcp%2BRadius)? Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 18 Ноября 2017, 01:11:18 Я проверю как он ведет себя. Но думаю до выдачи дело не дойдет т.к. ip-source-guard на коммутаторе заблокирует такое поведение до момент пока связка на порту Б не закончится. ...... Давайте делом заниматься. :) Вы ошибаетесь. До выдачи дойдет ))) вы плохо представляете как этот гуард работает. Если вы сильно прикрутите правила на порту и разрешите только 1 мак - тем самым усложните жизнь и себе и абонентам. Потому что вам придется сбрасывать связку всякий раз при смене устройства. Это не очень удобно, особенно если лизинг у вас будет не 10 минут а побольше. Да в любом случае даже 10 минут - это много. Адрес должен выдаваться мгновенно и в соответствии с номером порта и устройства - вот это правильное поведение. А уж потом... всякие там снупинги-гуарды. Я к чему все это веду: нужно сначала определиться с самим дхцп - умеет он поступать так как положено в данной ситуации или нет. Я очень-приочень много времени потратил на организацию работы по опции82. Пришлось патчить dhcpd чтобы он повторно выдавал адрес из занятого пула - иначе не красивенько вообще получалось. До такой степени не красивенько, что просто вымораживало. Но самое хреновое в этой ситуации то, что все свичи ведут себя с этой сраной опцией по разному. Бюджетные длинки за 90 баксов вообще через жопу с ней обоходятся. Нет, саму опцию нормально отправляют, тут вопросов нет, но реализация IPSG это какой-то ..... в общем желаю вам терпения )))) Хорошо, если вы под проект закупили сразу штук 300 каких-нибудь нормальных свитчей. Иначе намучаетесь. Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 18 Ноября 2017, 11:28:13 radreply, поддерживающее "один на порту" + я добавил фичу, что для незарегистрированных юзеров будет стараться выдавать один и тот же ip при переключениях:
Код: DROP PROCEDURE IF EXISTS `radreply`; Также не помешает добавить индекс: Код: alter table mac_uid add index (oneconnect); Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 20 Ноября 2017, 20:19:35 Efendy на этой неделе оттестирую и отпишусь. Спасибо.
Cell У меня стоит 2 мака на порту свитча если "один на порту" и таких большинство, проблем нет. А зачем сбрасывать связку с "один на порту" там же мак не учитывается?! Цитировать Пришлось патчить dhcpd чтобы он повторно выдавал адрес из занятого пула - иначе не красивенько вообще получалось Я так понял это при статике? чтобы один и тот же адрес выдавался клиенту?Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Декабря 2017, 13:18:13 Efendy
Тестирую Вашу процедуру и есть парус вопросов. Option82 передается в неизменном виде Код: [sql] expand: call radcheck_ipoe('%{User-Name}') -> call radcheck_ipoe('ec:08:6b:d9:96:e7') Получится ли в процедуре radreply разобрать эти опции? И что делать если разные коммутаторы будут присылать по-разному? В accel-ppp есть возможность разбирать это все с помощью Lua для каждого интерфейса/vlan и формировать username например так agent_circuit_id:agent_remote_id:mac Может так будет проще и лучше? Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 17 Декабря 2017, 20:09:02 Трудно переключать контекст и вникать о чем там речь была, попробую угадать, нужно распарсить строку '0x00060012cf7ef380' и выудить из нее мак и порт? Причем формат этой строки будет разный в зависимости от свича? Если тип свича присылать отдельным параметром, то в принципе можно распарсить, хоть mysql и тугой на строковые операции
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 18 Декабря 2017, 13:58:55 Трудно переключать контекст и вникать о чем там речь была, попробую угадать, нужно распарсить строку '0x00060012cf7ef380' и выудить из нее мак и порт? Причем формат этой строки будет разный в зависимости от свича? Если тип свича присылать отдельным параметром, то в принципе можно распарсить, хоть mysql и тугой на строковые операции Тип свича вряд ли получиться присылать отдельным атрибутом, так как список возможных отправляемых атрибутов ограничен.А что если все-таки присылать в User-Name нужные данные в правильном формате c83a35d309e0:e067b318340a:1 = [mac]:[dev_mac]:[port] и в sql процедуре просто распарсить на части их. Тем более если такая возможность есть. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 09 Января 2018, 12:36:53 Трудно переключать контекст и вникать о чем там речь была, попробую угадать, нужно распарсить строку '0x00060012cf7ef380' и выудить из нее мак и порт? Причем формат этой строки будет разный в зависимости от свича? Если тип свича присылать отдельным параметром, то в принципе можно распарсить, хоть mysql и тугой на строковые операции Хотелось бы закончить связку :) Цитировать распарсить строку и выудить из нее мак и порт Давайте сделаем как вы предложили.Цитировать Причем формат этой строки будет разный в зависимости от свича? Если тип свича присылать отдельным параметром, то в принципе можно распарсить В основном прилетают данные со свичей в одном формате, имеется несколько штук которые отличаются.Что вообще хотелось бы получить от связки. -сохранить функционал модуля dhcp (Один на порту, Фиксированное подключение) -выдавать статический ip если он есть в учетке -выдавать с пула по тэгу. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 12 Января 2018, 14:14:09 Efendy
Radius call radreply_ipoe шлет такую конструкцию Код: (14) sql: EXPAND call radreply_ipoe('%{User-Name}','%{NAS-Identifier}') radreply_ipoe Код: DELIMITER $$ ip получаю с пула по тегу все хорошо, функцию get_ip_by_tag использую от сюда h//p://nodeny.com.ua/wiki/index.php/%D0%92%D1%8B%D0%B4%D0%B0%D1%87%D0%B0_ip_%D0%B2_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8_%D0%BE%D1%82_%D1%82%D0%BE%D0%B3%D0%BE,_%D0%BA_%D0%BA%D0%B0%D0%BA%D0%BE%D0%BC%D1%83_NAS_%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD_%D0%B0%D0%B1%D0%BE%D0%BD%D0%B5%D0%BD%D1%82 Efendy можно в кратце логику работы radreply, поддерживающее "один на порту" последнее что вы дали, а то я не все понимаю и возможно что-то упущу при тестировании в сети, хотелось бы все ситуации проверить. Radius call radupdate_ipoe Код: (28) sql: EXPAND call radupdate_ipoe('%{User-Name}','%{Framed-IP-Address}','nas=%{NAS-IP-Address}','%{NAS-Identifier}') radupdate_ipoe Код: DELIMITER $$ radupdate_ipoe отрабатывает успешно, но не уверен что сделана она по логике биллинга гляньте пожалуйста. Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 13 Января 2018, 01:19:00 Я бегло просмотрел твою radreply, вроде бы все норм. Ты же взял за основу http://forum.nodeny.com.ua/index.php?topic=3016.msg32154#msg32154 ?
"Один на порту" означает, что нам не важен мак абона, поскольку мы по маку свича и порту итак знаем кто он. Поэтому используется подобное условие: Код: WHERE device_mac=dev_mac AND device_port=port AND (mac=usr_mac OR (oneconnect>0 AND device_mac<>'')) означает: найти запись в которой мак свича такой-то, порт такой-то. При этом если мак абонента такой-же как и зарегистрирован, то это наш абон. Если это условие сработает, то неважно, что он еще и один на порту. Но допустим он сменил комп и тогда условие mac=usr_mac не сработает, но есть условие ИЛИ: если данный порт помечен как "один на порту" (oneconnect>0), то тоже считаем, что запись наша. При этом для подстраховки проверяется, что задан мак свича. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 14 Января 2018, 12:53:10 Efendy
Да это твоя процедура, дополненная нужным мне функционалом. Если не сложно глянь пожалуйста еще radupdate_ipoe, а то я не уверен в правильности так как пока еще делаю на ощупь. На dhcp сервере у меня установлены renew-time=150,lease-time=300,max-lease-time=300 относительно этих параметров в биллинге или radius нужно подгонять таймауты обновлений дабы авторизация работала правильно? Название: Re: DHCP + Opt82 + Radius Отправлено: sever от 24 Января 2018, 11:48:52 Например расскажи как ведет себя аксель, когда у него в лизинге находится какой-то ип адрес скажем А от порта скажем Б и вдруг с порта Б приходит запрос на получение адреса для совершенно другого устройства. Ситуация вполне жизненная - абонент выключил свой комп и включил ноутбук соседа или утюг подключил к сети или еще что-то. В аццеле при схеме влан на клиента работает всё хорошо, можно соседями ходить друг к другу со своими ноутбуками. У меня в процедурах проверяется номер влана, с которого пришёл запрос, а не мак абонента. Если этот влан на порту Б, без разницы что в него включать, абонент порта Б будет всегда получать адрес, основанный на влане, прописанном на порту и закреплённым за абонентом. Если же прилетает несколько mac-адресов - настраивается в настройках аццеля, Replace/Reject/ либо shared (заменяем сессию если 2 мака, отбиваем её либо разрешаем выгребать адреса в одном влане). Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 24 Января 2018, 15:11:53 Это все элементарные вещи и все это понятно. Не понятно как поведет себя аксель, когда у него в не истекшем лизинге будет выдан адрес на один мак а с этого же порта придет снова запрос на новый адрес. А? обосрется он как ISC-DHCPD или выдаст этот же адрес новому устройству. Сдается мне что обосрется. Тут только делать лизинг довольно коротким и ждать когда он закончится.
Название: Re: DHCP + Opt82 + Radius Отправлено: sever от 24 Января 2018, 16:15:30 Это все элементарные вещи и все это понятно. Не понятно как поведет себя аксель, когда у него в не истекшем лизинге будет выдан адрес на один мак а с этого же порта придет снова запрос на новый адрес. А? обосрется он как ISC-DHCPD или выдаст этот же адрес новому устройству. Сдается мне что обосрется. Тут только делать лизинг довольно коротким и ждать когда он закончится. Если это будет новый мак, в замену старого - то произойдёт реплейс сессии, ip-адрес скорее всего выдаст новый или старый не скажу, по логам разные случаи бывают. Прикрепил картинку у абонента последовательно в разное время менялось 3 мак-адреса, ip-при этом выдавался тот-же. Есть сессии что новый мак, с новым ip, это надо эксперементировать чтобы сказать точно. Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 24 Января 2018, 17:20:40 Да по логам смотреть не интересно т.к. по истечении лизинга выдача одного и того же адреса является обычным поведением любого дхцп сервера согласно протокола. А вот выдача ДРУГОГО адреса во время действия лизинга в принципе тоже укладывается в протокол, но как раз для нас является неприемлемым (в разрезе рассматривания статических пулов адресов).
Название: Re: DHCP + Opt82 + Radius Отправлено: sever от 24 Января 2018, 17:33:35 Из статического пула всегда выдаётся один и тот же адрес, который ты указал.
Из динамики если интересно, могу затестить при живой сессии в этом же влане подключиться с другого устройства. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 24 Января 2018, 19:08:37 Докладываю.
Если у клиента есть статика или ip еще числится за данных портом, не маком, в случае смены мака клиента выдается тот же ip. Естественно в конфиге accel Код: single-session=replace Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 24 Января 2018, 22:23:56 во, это другое дело.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 29 Января 2018, 18:55:04 Подскажите, а как сделать что бы авторизация пользователя бралась с аккаунтинга радиуса для dhcp ? Как в pppoe сессия отпала, ключ через 1-2 минуты так же исчез.
Сейчас для dhcp клиентов эта процедура занимает около 15 мин.? Название: Re: DHCP + Opt82 + Radius Отправлено: elite от 29 Января 2018, 20:07:43 не запускать модуль ядра дхцп?
Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 30 Января 2018, 01:49:25 Подскажите, а как сделать что бы авторизация пользователя бралась с аккаунтинга радиуса для dhcp ? Как в pppoe сессия отпала, ключ через 1-2 минуты так же исчез. Запустить модуль dhcp либо в ядре либо отдельным процессом.Сейчас для dhcp клиентов эта процедура занимает около 15 мин.? Тут кстати одна интересная фенечка вырисовывается с этими авторизациями. Если брас удаленный, да еще и тормознутый типа микротика, то авторизация включается не мгновенно, а через какое-то время и юзер, при должной сноровке умудряется наблюдать в лучшем случае заглушку а в худшем тупящий белый экран. Поэтому я при подобных способах авторизации включаю "всегда онлайн" + модуль дхцп для зеленых ключиков Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 30 Января 2018, 11:26:47 Цитировать Запустить модуль dhcp либо в ядре либо отдельным процессом. Он запущен в ядре.Может быть это связано с тем какой mod=dhcp в radupdate процедуре? Или все таки действительно выключить модуль dhcp, где-то читал что он поддерживает авторизацию, но это актуально вроде для связки без radius и может он не нужен? Цитировать ...то авторизация включается не мгновенно, а через какое-то время... Не знаю, в версии без радиуса и с радиусом авторизация начинается верно, без радиуса по "events.pl commit", с радиусом по отработке radreplyА поддерживать авторизацию можно я так думаю по acct-interim-interval=60 Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 30 Января 2018, 11:58:18 Модуль ядра нужен. Если у вас не воркает, значит нет аккаутинга. Смотри где его еще навключать можно. В микротике, например, он включается отдельным пунктом меню ip
Или может быть ошибка в процедуре radupdate - не мешало бы в дебаге подаблюдать что пишет. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 30 Января 2018, 12:23:43 Аккаунтинг есть.
Код: (9) sql: EXPAND call radupdate_ipoe('%{User-Name}','%{Framed-IP-Address}','nas=%{NAS-IP-Address}','%{NAS-Identifier}','%{Acct-Session-Id}') И ключи есть. Просто долго гаснут когда клиента сессия завершается. Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 30 Января 2018, 12:52:37 По таймауту должно выключаться 150 секунд.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 30 Января 2018, 13:10:32 По таймауту должно выключаться 150 секунд. После последнего аккаунтинга?Название: Re: DHCP + Opt82 + Radius Отправлено: Cell от 30 Января 2018, 23:26:59 угу
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 01 Февраля 2018, 14:54:18 При ручном добавлении мака в учётке пользователя ключик активируется не с тем ip который выдан в данный момент ему dhcp-сервером. В чем может быть проблема?
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 01 Февраля 2018, 17:36:17 Мак добавляешь в момент когда абон уже авторизован?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 01 Февраля 2018, 19:31:19 Да, устройство получило ip но еще не привязано ни к кому, добавляю мак и добавляется в учетку совсем другой Ip не тот который в данный момент, если устройством перезапросить, то выдается уже этот ip который светится в учетке.
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 01 Февраля 2018, 20:36:20 Абонент подключился по dhcp. Мак неизвестный. Поэтому он не авторизован и данный ip не привязан еще к учетке. Ты добавляешь мак и сразу же в учетке сам прописывается левый ip?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 01 Февраля 2018, 22:37:58 Цитировать Абонент подключился по dhcp. Мак неизвестный. Поэтому он не авторизован и данный ip не привязан еще к учетке. Это понятно. Все логично так и есть.Цитировать Ты добавляешь мак и сразу же в учетке сам прописывается левый ip? Да, ну не сразу, а после аккаунтинга очередного.Т.е. нахожу мак Цитировать Dhcp выдал по данному маку ip = 10.194.14.205, однако пока еще клиент не зарегистрировался Все хорошо это Ip который на интерфейсе у клиента. Потом добавляю клиенту мак,свитч, порт. И через минуту прописывается ip левый, ну не совсем левый, с нужного пула, возможно когда-то выдавался но не 10.194.14.205 который по идее должен прописаться. И если сделать на клиенте ребут то он получит как раз тот который прописался. Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 02 Февраля 2018, 10:04:52 Я понял в чем проблема. Исправлю, но хочу четко понимать некоторые моменты - ты говоришь об аккаунтинге. У тебя в dhcp идет аккаунтинг? В isc-dhcpd вроде нет аккаунтинга и там мы решили сделать маленькое время выдачи аренды адреса. Но это не аккаунтинг. Еще есть модуль ядра dhcp - он эмулирует аккаунтинг. Ты аккаунтинг от него имеешьввиду или реально от dhcpd?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 02 Февраля 2018, 11:05:58 Да в dhcp. Ты наверно забыл что в этой теме пилим DHCP через RADIUS с OPTION 82. Вот через радиус и происходит аккаунтинг раз в минуту.
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 03 Февраля 2018, 10:51:19 Скачай заново модуль dhcp
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 03 Февраля 2018, 13:47:58 Обновил модуль.
Все равно при добавлении мака в ручную, в учетке появляется ip не тот который у клиента в данный момент. Так же есть баг если клиент авторизован через pppoe и ему добавляешь mac для авторизации через dhcp то мак привязывается к тому ip который авторизован через pppoe Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 04 Февраля 2018, 12:19:39 а тот ip который выдан еще не известному маку, он вообще попадает под условия в каком диапазоне должен быть выдан ip?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 04 Февраля 2018, 13:10:12 Да попадает. Ip выдается по тегу с пула. С нужного пула и выдается.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 06 Февраля 2018, 15:12:49 Я правильно понимаю аккаунтинг с радиуса должен прилетать немного чаще чем значение в /usr/local/nodeny/kernel/auth.cfg - timeout => 150 ? Да бы авторизация поддерживалась?
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 07 Февраля 2018, 00:40:45 Я кажется понял в чем проблема, завтра попробую пофиксить. Проблема, что я на 3ж, но надеюсь получится
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 07 Февраля 2018, 11:49:12 После твоего фикса последнего, при добавлении в ручную в админке мака, сделать это получается со второго раза. Т.е. есть связка, удаляю старую, добавляю новую - пишет типа "Связка не удалась", еще раз добавляю и все ок.
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 07 Февраля 2018, 20:00:02 Покажи какая ошибка в дебаг-режиме на странице сохранения. Если на титульной странице включить дебаг-режим, то практически все сохранения будут идти с большим белым пространством, на котором написано redirect. Нужно не нажимая redirect нажать debug и сделать скриншот ошибки
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 08 Февраля 2018, 22:44:12 Сел заскринить ошибку сегодня и прикинь не мог получить ее все добавлялось успешно. Что я делал - брал учетку, удалял в ней мак, добавлял снова мак, добавлял в другую учетку этот мак, все добавлялось. А Ip каждый раз разный выдавался с нужного пула, хотя само устройство не перезагружалось.
Что я делал до этого когда получал ошибку? Поменял тип данных столбца device_port на varchar(6) И в /usr/local/nodeny/modules/dhcp/create.o_mac_uid.pl Код: my $device_port = ses::input_int('device_port'); Код: my $device_port = ses::input('device_port'); Да бы в него записывались не только целые числа, а и порты вида 1/12, 0/2:6 и т.д. Для чего ? Возникла ситуация в сети когда одинаковый номер порта был у двух разных клиентов и естественно не давал работать обоим. А что тогда у них разное было ? А разный у них был номер юнита, т.к. свичи были в стеке, т.е порты были такого вида 1/13 и 3/13. Подумав, решил что нужно так же и хранить все это и изменил. Могли ли эти изменения еще на что-то повлиять например, выдавать ошибку при создании, может там были какие-то не состыковки? Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 10 Февраля 2018, 09:29:04 Полностью не вник, что ты написал. Напишу как я тестировал. У абона включается комп, мак которого еще нигде в биллинге не светился. Dchp выдает рандомный ip из пула биллинга. При этом в таблице mac_uid создается запись ip + mac + device_mac + device_port. Uid в этой записи = 0. Оператор открывает учетную запись этого абонента и нажимает кнопку "добавить мак". В поле мак-адрес вписывает мак абона и нажимает "сохранить". При этом после сохранения видно, что в поле "порт" и "мак устройства" добавились корректные данные (те, которые я написал выше device_mac и device_port). Более того, если в mysql посмотреть таблицу mac_uid и выбрать запись uid=id_абона, то и ip должен быть тем, что был выдан абоненту когда его мак еще не был занесен. Кстати, ip хранятся в виде числа, их надо расшифровывать так: INET_NTOA(ip).
Тут такой момент. Я сначала сделал перенос только ip и ты, вероятно, тогда обновился. Но позже я еще сделал перенос мака устройства и порта. Поэтому не работало. Ну и порт переделаю в текстовый вид чуть позже Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Февраля 2018, 15:20:03 Обновил сегодня модуль и что получаю.
Цитировать Оператор открывает учетную запись этого абонента и нажимает кнопку "добавить мак". В поле мак-адрес вписывает мак абона и нажимает "сохранить". При этом после сохранения видно, что в поле "порт" и "мак устройства" добавились корректные данные (те, которые я написал выше device_mac и device_port) mac не привязан Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Добавляю чисто мак, без указания устройства и порта. Как мы видим устройство и порт не подтягивается, а ip сохраняется тот который выдан. Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Проходит аккаунтинг и что мы видим? Связка удалилась и ip поменялся. Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Дальше, если указать мак, устройство и порт. То все хорошо, подвязывается нужный ip и клиент работает без передергиваний. Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Если добавлять мак со всеми полями включая галку один на порту. То вываливается с ошибкой "Создание привязки не выполнено" и запись в mac_uid WHERE mac=? AND uid=0 затирается. Debug Код: 0.115583 При повторном добавлении, добавляется но без ip. Клиентское устройство приходится передергивать. Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Как я понимаю где-то не правильно учитывается oneconnect. Т.к. если галку не ставить то все добавляется успешно и ip правильный. Но в основном у всех один на порту. Поэтому это критично. Так же забегая наперед, хотелось бы добавить функцию "один на устройстве" аналог один на порту, но учитывается только мак устройства при авторизации. Большая часть клиентов на pon так и работают, порт устройства прилетающего в опиции 82 меняется на 1, тем самым эмулируя "один на устройстве" хотя в реальности там есть физический номер порта который хотелось бы видеть в связке но не учитывать т.к. он меняется периодически. Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 15 Февраля 2018, 15:49:52 Цитировать Тут такой момент. Я сначала сделал перенос только ip и ты, вероятно, тогда обновился. Но позже я еще сделал перенос мака устройства и порта Когда ты последний раз обновлял dhcp модуль?P.S. Мой затуп, я не обновил модуль. Обнови Должно быть так: Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Цитировать Добавляю чисто мак, без указания устройства и порта: Код: SELECT * FROM `mac_uid` WHERE mac='ec086bd996e7'; Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Февраля 2018, 18:39:35 Да, теперь подтягиваются устройство и порт. Т.е. так правильно добавлять, чисто мак клиента, а потом галку один на порту ставить?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 15 Февраля 2018, 22:33:19 Запуск модуля dhcp вообще нужен если есть аккаунтинг через радиус?
Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 15 Февраля 2018, 23:10:05 Запуск модуля dhcp вообще нужен если есть аккаунтинг через радиус? даНазвание: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 15 Февраля 2018, 23:11:09 Да, теперь подтягиваются устройство и порт. Т.е. так правильно добавлять, чисто мак клиента, а потом галку один на порту ставить? по идее можно сразу ставить мак и один на порту, а устройство и порт подтянутсяНазвание: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Февраля 2018, 13:05:22 to Tom
Я не авторизую по vlan но представляю примерно как это сделать, тем самым увеличив функционал модуля dhcp до всех современных потребностей сетей которые работают по dhcp через radius. Без изменений модуля dhcp можно тупо отсылать в качестве имени пользователя vlan, который в свою очередь будет записываться в поле mac таблицы mac_uid, по нему и будет происходит авторизация, минус такого способа, не будет видно маков клиента. можно записывать vlan допустим в device_mac, а в порт единицу и указать один на порту, так же будет работать логика vlan per user, костыльно выглядит конечно. с изменением dhcp модуля Сделать еще одно условие и доп поле "Один на устройстве", если "ДА" то при авторизации проверять только поле device_mac в которое можно занести вместо dev_mac номер vlan. Тем самым решив вопрос vlan per user и когда клиент действительно один на устройстве. Все поля полезные mac, device_mac, port в них может хранится нужная информация для диагностики и определения от куда клиент пришел, но она не всегда нужна при авторизации по-этому было бы удобно исключать любое из них. Стас что скажешь ? по-этому поводу? Название: Re: DHCP + Opt82 + Radius Отправлено: tom от 16 Февраля 2018, 14:10:38 Записувати влани - відразу ні, це непотрібне навантаження на колцентр та інженерів.. вони мають вибрати точку підключення, в ідеалі. Де підтягнеться ід svlan. І вказати номер порта, що згенерує cvlan. Це я собі так уявляю. І тут вже саме цікаве.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Февраля 2018, 14:18:38 Цитировать вони мають вибрати точку підключення, в ідеалі. Где ? Когда?Код: І вказати номер порта, що згенерує cvlan. Тогда можно добавить еще одну сущность в виде столбца в mac_uid "vlan" и записывать туда еще и vlan и доп. поле "vlan per user", если да, то проверяем только это поле. Название: Re: DHCP + Opt82 + Radius Отправлено: tom от 16 Февраля 2018, 14:21:34 Ну а як привязати клієнта до порта/свіча? При введені в базу потрібно вказати де цей клієнт включений, після цього вже буде його авторизація. Миж вводим данні мака, при авторизації по маку клієнта?! Тим чи іншим способом.. В ідеалі і тут можна, по логіну паролю.. Але це вже інше тема. Поки, мені не зрозуміло, яким чином зберігати параметри авторизаціїї клієнта. Якщо в окремому полі зберігати данні типу vlan2501.101 - ну це вже суперечить вимогам Стаса про створення додаткових полів в БД. Та ще й виникає проблема, коли з accel переходити на жун, там взагалі прилітає щось типу ge-1/0/0:100-1005.
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Февраля 2018, 14:26:46 Tom вы путаетесь с понятиями.
Сначала вы хотите привязать к vlan, потом "до порта/свіча". Цитировать При введені в базу потрібно вказати де цей клієнт включений, після цього вже буде його авторизація. Зачем? Есть механизм который сам его привяжет к той или иной сущности при вводе логина и пароля в личном кабинете, нужно только указать к чему именно привязать и потом прислать биллингу всю эту необходимую информацию откуда пришел запрос.UPD Код: окремому полі зберігати данні типу vlan2501.101 - ну це вже суперечить вимогам Стаса про створення додаткових полів в БД. Цитировать Та ще й виникає проблема, коли з accel переходити на жун, там взагалі прилітає щось типу ge-1/0/0:100-1005. Конечно это все нужно правильно формировать на входе в биллинг, уменя допустим вот так выглядят логины по опции 82 которые потом я уже в sql процедуре разбираю на части.Код: ifname | username | calling-sid | ip | type | comp | state | uptime Название: Re: DHCP + Opt82 + Radius Отправлено: tom от 16 Февраля 2018, 14:36:20 Tom вы путаетесь с понятиями. Ну це вже інше питання, чи це вводить вручну, чи автоматом.. Питання як його зберігати і відпрацьовувати. Я не путаюсь, це білінг путається )) В нього ж немає таких параметрів як svlan-ідентифікатор свіча і cvlan-ідентифікатор порта, а є в нього Мак устройства і Порт устройства. Через них і робив костиль поки. Тільки я не знаю як на рівні радіуса розпарсить username. І тоді ще має бути хитра процедура пошуку клієнта - де спочатку по svlanу знаходим ід устройства, після цього запускаєм пошук клієнта з ід устройства і порта(який ми добудемо з cvlana)Сначала вы хотите привязать к vlan, потом "до порта/свіча". Цитировать При введені в базу потрібно вказати де цей клієнт включений, після цього вже буде його авторизація. Зачем? Есть механизм который сам его привяжет к той или иной сущности при вводе логина и пароля в личном кабинете, нужно только указать к чему именно привязать и потом прислать биллингу всю эту необходимую информацию откуда пришел запрос.Название: Re: DHCP + Opt82 + Radius Отправлено: tom от 16 Февраля 2018, 14:38:36 10feed5ded85-dcd2fc5cbfe8-0/2 - це увас такий юзернейм прилітає?
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 16 Февраля 2018, 14:41:45 Код: В нього ж немає таких параметрів як svlan-ідентифікатор свіча і cvlan-ідентифікатор порта, а є в нього Мак устройства і Порт устройства Цитировать 10feed5ded85-dcd2fc5cbfe8-0/2 - це увас такий юзернейм прилітає? Да mac-device_mac-portНазвание: Re: DHCP + Opt82 + Radius Отправлено: tom от 16 Февраля 2018, 14:56:09 Код: В нього ж немає таких параметрів як svlan-ідентифікатор свіча і cvlan-ідентифікатор порта, а є в нього Мак устройства і Порт устройства Тре мабуть якось стандартизувати юзернейм. Наприклад, якщо прилітає лише мак клієнта- то це авторизація по маку, все інше рахується вже, що на порту 1 клієнт. Тут може бути два типа авторизації (взагалі навіть 3) - 1) Option 82 2)Vlan per user 3) VLAN per user з QinQ. в першому випадку авторизація мак пристрою (доречі сюди можна не мак тулити а ідентифікатор свіча, тоді можливо обєднати 1 і 3 варіант) і порт клієнта. 2-й влан ід - є унікальним для кожно клієнта (обмеження 4к клієнтів).3-й - svlan+cvlan. Знову ж таки, це моє бачення і не є догмою. Тому сюди пишу порадитися, в т.ч. і з розробником, який повністю розуміє логіку свого продукта P.S. це що описав, мабуть все таки заточено під accel. і обєднати 1 і 3 варіанти, мабуть тільки з аccel можливо.. бо ж Option 82 там інші ... Поки писав одна думка зявилась. Ща разрабам accel напишу.. Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 17 Февраля 2018, 16:54:39 Запуск модуля dhcp вообще нужен если есть аккаунтинг через радиус? Епт, я прочитал как "не нужен" и ответил "да". Запуск модуля dhcp не нуженНазвание: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 17 Февраля 2018, 17:07:49 Вы тут много написали и у меня нет времени вникать, поэтому опишу кратко, что я по этому поводу думаю.
Мы говорим об авторизации по вилану, порту и т.д. На самом деле, для биллинга вообще не важна эта сущность. Он рассматривает параметры от dhcp или иного сервера как некий идентификатор. Например, комбинация данных мак-свича-порт - это некий идентификатор. А может быть любой другой с разным количеством параметров. Если идентификатор не найден в базе (например изменился порт) - юзер считается неизвестным. В таблице mac_uid я сделал аж 3 параметра: мак юзера, мак свича и иной како-либо параметр свича (например порт). А мог бы сделать вообще одним параметром, например, все эти данные склеивались бы в одну строку. Но чисто для удобства администрирования лучше чтобы мак устройства был отдельно - тогда админка может предложить выбор мака из списка устройств. Если вы хотите сделать еще одно поле для идентификации - это можно, но настоятельно не рекомендую это делать по одной простой причине - этих схем авторизаций развелось уже громадное количество. Поддерживать этот зоопарк все сложнее и сложнее. Если в одной схеме авторизации я или кто-то иной внедрит какую-то дополнительную фичу - еще придется адаптировать к вашей схеме и вашему новосозданному полю. Кстати, в коде я обнаружил такой момент: если мак устройства больше 12 символов, то, все что перед ним считается vlan-ом. Видимо, я когда-то уже делал эту фичу для кого-то. Помню даже, что поле device_mac увеличивал в базе по количеству знаков. Но думаю, это было лишним, можно ж vlan хранить в поле port. Да, его надо сделать текстовым и желательно перемиеновать (но из-за совместимости не получится) Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 17 Февраля 2018, 17:58:25 Стас все верно, схема у тебя продуманная и ее хватит на все случаи. Можно просто было бы добавить еще одну функцию чтобы указывать сколько полей нужно учитывать при авторизации. Тогда мы можем смело писать допустим в поле порт или мак устройства vlan и по нему авторизовать. На данный момент мы можем или по маку авторизовать или мак+порт. Отдельно по порту или устройству не можем, а это как раз дало бы свободу выбора в схемах авторизаций
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 17 Февраля 2018, 19:23:08 Стас а как правильно в mac_uid добавить столбец?
Сделал Код: ALTER TABLE `mac_uid` ADD `onedevice` TINYINT(1) UNSIGNED NULL DEFAULT '0' AFTER `oneconnect`; Через некоторое время /usr/local/nodeny/modules/dhcp/events.pl завис в deadlock, пришлось удалить столбец. Записей всего-то 900. Как быть? Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 19 Февраля 2018, 16:17:49 Стас подскажи как сделать из checkbox, radio чтобы выбирался или первый или второй вариант но не два вместе.
Код: $tbl->add('*','lL', Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 19 Февраля 2018, 18:23:31 Код: $tbl->add('*','lL',
Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 19 Февраля 2018, 19:11:51 В create.o_mac_uid.pl есть такая функция o_update, а в ней кусок кода
Код: ... Если я после добавлю условие например такое Код:
Правильно так будет? Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 19 Февраля 2018, 23:34:25 нет. my ограничивает область видимости переменной. Нужно до условия определить переменные, а в самом условии не юзать my:
Код: my $onedevice; Код: my $onedevice; Код: $oneconnect = $oneconnect == 1 ? 1 : 0; Код: $oneconnect = ($oneconnect == 1) + 0; Код: my $onedevice = --$oneconnect == 1? $oneconnect-- : $oneconnect++; Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 27 Февраля 2018, 13:38:55 Сегодня обнаружил еще один баг
Есть клиент dhcp у которого НЕ стоит "Один на порту" и тут он меняет ноутбук. По идее у него должно писаться "Вы сменили компьютер... Получить доступ в интернет" где он вводит логин и пароль, а вместо этого ему пишет "Доступ в интернет отсутствует т.к. вы не атворизованы... Если вы пользуетесь через высокоскоростно... " до того момента пока не удалишь его ip в учетке. Удаляешь Ip и начинает правильно писать "Вы сменили компьютер... Получить доступ в интернет". Я так полагаю проблема эта появилась из-за того что увеличилось время аренды ip до 3600. Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 27 Октября 2018, 15:35:19 Стас проскакивает ситуация во время новой активации связки mac=uid клиентом, что новая активация забирает чужую связку работающего юзера или недавно получавшего этот ip, предположительно это происходит из-за того что связка находится по ip, насколько я понимаю по другому не найти ее в момент активации клиентом через браузер и когда ip в динамике выдается, один и тот же адрес иногда попадает разным клиентам и тут находится связка с уже проставленным uid и она перезаписывается новым uid.
Предположительно нужно сделать проверку тут /usr/local/nodeny/modules/dhcp/create.user.dhcp.pl Код: # у клиента сейчас гостевой ip - выдадим новый Что думаешь Стас? Название: Re: DHCP + Opt82 + Radius Отправлено: Efendy от 28 Октября 2018, 09:19:18 А как получается, что выдается один и тот же ip?
P.S. Я не сразу отвечаю, потому что занят другой задачей (переделкой модуля snmp) и чтобы вникнуть в логику dhcp, которая слегка ебанутая, приходится долго вспоминать что там к чему Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 28 Октября 2018, 20:10:35 Цитировать А как получается, что выдается один и тот же ip? Предполагаю так, работает клиент, потом отключается, ip через час освобождается, но походу ip не затирается в mac_uid ?! и тут подключается гость, получает этот Ip, регистрируется и в mac_uid находится по ip, якобы его связку.Цитировать P.S. Я не сразу отвечаю, потому что занят другой задачей (переделкой модуля snmp) и чтобы вникнуть в логику dhcp, которая слегка ебанутая, приходится долго вспоминать что там к чему Та это пиздец, я уже думаю рисовать все связи на бумаге между маками и другими сущностными в dhcp режиме, что бы построить правильный алгоритм.Название: Re: DHCP + Opt82 + Radius Отправлено: FlySky11 от 11 Сентября 2019, 16:09:47 Всем привет
Прошу у вас помощи Есть проблема с отображением авторизации по DHCP Схема: Микротик(дхцп на влан) - радиус - билинг - сателит абон изначально получает гостевой ип попадает на заглушку автоизируеться и потом получает статический ип. Загвоздка вот в чем Модуль дхцп не запущен с автозагрузки убран Авторизация с гостевим ип отображаеться нормально и ип по истичению вемени пропадает А вот авторизация со статическим ип не появляеться вообще(при етом еще и нета нет) (роути и прочее прописано) при запуске модуля дхцп авторизация появляеться но не отображаеться каким методом, инет тоже есть, НО при физическом оключении соединение больше не пропадает вообще Конфиги все с доки по FreeRadius3 с изменьонной процедурой radreply для функции get_ip_by_tag (тоже сделано по доке) Помогите пожалуйста, работает вся схема кроме етого =(((( Название: Re: DHCP + Opt82 + Radius Отправлено: NodenY45 от 12 Ноября 2019, 20:24:30 Аккаунтинг есть. Код: (9) sql: EXPAND call radupdate_ipoe('%{User-Name}','%{Framed-IP-Address}','nas=%{NAS-IP-Address}','%{NAS-Identifier}','%{Acct-Session-Id}') И ключи есть. Просто долго гаснут когда клиента сессия завершается. поделитесь своими радиус-процедурами для accel, radreply/radupdate_ipoe Спасибо! :) Название: Re: DHCP + Opt82 + Radius Отправлено: skreep от 12 Ноября 2019, 23:43:11 поделитесь своими радиус-процедурами для accel, radreply/radupdate_ipoe Спасибо! :) [/quote] Код: DELIMITER $$ Код: DELIMITER $$ Название: Re: DHCP + Opt82 + Radius Отправлено: fet4 от 13 Ноября 2019, 11:09:48 Мой radreply
Код: DELIMITER $$ Мой radupdate Код: DELIMITER $$ Название: Re: DHCP + Opt82 + Radius Отправлено: NodenY45 от 13 Ноября 2019, 13:52:16 поделитесь своими радиус-процедурами для accel, radreply/radupdate_ipoe Спасибо! :) Код: DELIMITER $$ Код: DELIMITER $$ [/quote] Спасибо, будем разбираться. Подскажите, еще, какие радиус атрибуты вы передаете? Я планирую, передавать гостевой сервис, с редиректом на заглушку, и через модуль CoA активировать следующий сервис с тарифом. В верную сторону смотрю? Название: Re: DHCP + Opt82 + Radius Отправлено: skreep от 13 Ноября 2019, 14:16:40 Спасибо, будем разбираться. Подскажите, еще, какие радиус атрибуты вы передаете? Я планирую, передавать гостевой сервис, с редиректом на заглушку, и через модуль CoA активировать следующий сервис с тарифом. В верную сторону смотрю? [/quote] Код: /etc/freeradius/3.0/mods-available# cat sql Код: [ipoe] Модуль СОА запускається таким чином /usr/bin/perl /usr/local/nodeny/noserver.pl -a -i -g=coa.cfg.pm -d & В цьому позитивно, якщо втрачається зв'язок з радіусом то клієнти працюють і не відвалюються, і якщо зв'язок відновлено то відновлюється авторизація, і ніби не виникає момент що сесії на брасі є а в білінгу нема. ось десь так воно робить. Авторизує по маку ону та маку олт Название: Re: DHCP + Opt82 + Radius Отправлено: serg от 27 Ноября 2022, 07:26:28 Всем доброго времени суток!
Может кто ни будь может поделится процедурами (radcheck, radreply, radupdate), задача такая: Mikrotik + DHCP + Radius + Option82 Использую BDCOM 3310, BDCOM 3608 Да высше есть процедуры, я пробовал их но не смог решить свою задачу. Хочу авторизовать абонов по мак ону и мак абона, также зглушка Сейчас у меня все на одном сервере, на данный момент использую make_conf, подключаю нового абона, получает dhcp, идем на заглшка и регим по логину и паролю нового абона, меняю в подключение ip статический и таким оброзом привязываю абона по опции82. Можно попросить еще поделится конфигами радиуса и настройками Mikrotik. |