fet4
|
|
« Ответ #15 : 01 Декабря 2016, 14:32:30 » |
|
Делаю связку Dhcp + Radius А как в этом случае происходит разбор и регистрация по option 82?
И можно ли выдавать клиенту со статического пула адрес?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #16 : 01 Декабря 2016, 18:41:42 » |
|
вводишь и вроде как у этого пользователя я ожидаю должна сформироваться связка мак + ip Должна сформироваться связка не mac + ip, а id абонента + mac. Это существенно. Потому что ip может быть выдан вообще любой. Благодаря этому упрощается настройка - в стандартной настройке isc-dhcpd выдает ip от балды, поскольку он не умеет radius и ему никак не узнать какой ip нужно выдавать (есть еще настройка через периодическое формирование конфига для dhcp, но это другая тема). Поэтому биллинг адаптируется к тому, что выдал dhcp. Dchp сообщает биллингу: я выдал такой-то ip такому-то мак-у. И биллинг смотрит у кого такой мак и соответсвенно для данного ip либо включает либо выключает доступ, скорости и т.д. Когда мак неизвестен, то биллинг спрашивает логин и пароль, после чего связывает мак с id абонента. Это делается модулем dhcp личного кабинета. Если он не будет включен в список в настройках биллинга, то никакой связки сформировано не будет
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #17 : 08 Декабря 2016, 18:35:52 » |
|
В процедуре radreply передается атрибут Session-Timeout=600 и accel-ppp рвет сессию через 600 сек. я так понимаю это для не авторизованных? Но он же выдается всем?! Или я не прав? Или какой смысл его?
|
|
|
Записан
|
|
|
|
Pa4ka
|
|
« Ответ #18 : 08 Декабря 2016, 19:31:12 » |
|
В процедуре radreply передается атрибут Session-Timeout=600 и accel-ppp рвет сессию через 600 сек. я так понимаю это для не авторизованных? Но он же выдается всем?! Или я не прав? Или какой смысл его?
Для accel с ipoe у них на форуме есть темка, если конечно не читали еще accel-ppp.org/forum/viewtopic.php?t=513 Session-Timeout я лично использую для не зарегистрированных маков получают специальный пул, у них есть несколько минут для авторизации через заглушку и потом сессия в любом случае рветься и клиент получит уже не гостевой ИП
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #19 : 08 Декабря 2016, 21:05:26 » |
|
Почитал. Понял.
У Вас это наверно как-то в процедурах описано что Session-Timeout получает только незареганные маки, если да можно глянуть? А то у меня в стандартных все получают его. В принципе мне он и не нужен этот атрибут я его убрал, у меня так - клиент получил с пула ip, его кидает на заглушку, он регается, его вносит в список разрешенных и он пользуется инетом без передергиваний кабеля.
А как у Вас авторизация происходит vlan per user или option 82?
|
|
|
Записан
|
|
|
|
Pa4ka
|
|
« Ответ #20 : 08 Декабря 2016, 21:24:36 » |
|
Почитал. Понял.
У Вас это наверно как-то в процедурах описано что Session-Timeout получает только незареганные маки ? А то у меня в стандартных все получают его. В принципе мне он и не нужен этот атрибут, у мня так - клиент получил с пула ip, его кидает на заглушку, он регается, его вносит в список разрешенных и он пользуется инетом без передергиваний кабеля.
А как у Вас авторизация происходит vlan per user или option 82?
Mysql процедуры я использую те что в документации только для freebsd+mpd5+radius. Для серверов с accel или микротика или какие там еще другие НАСы писал на perl для rlm_perl(freeradius). Ну а для accel что бы без передергивания я воспользовалься этим атрибутом(не так уж часто новые маки прилетаю, а если часто - то что то это не так и зачем давать из клиентского пула). Я даже решил что такие интерфейсы переназываю вместо ipoe+ создает guest+ А и еще забыл что ната нету на НАСах с accel-ppp. Но это для своей сети(так сложилось за много лет) у нас и pppoe и dhcp+radius и vlan per user, короче говоря каша и ничего не поделаеш).
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #21 : 08 Декабря 2016, 21:45:06 » |
|
Понятно. У нас в принципе точно так же сейчас pppoe, isc-dhcp-option-82 и вот допиливаю accel.
Появился нюанс, не гаснет ключик в биллинге кто авторизовался через accel. Самое интересное Accounting-Request уже не шлется, accel сессию терминировал, а в биллинге пишет "Последнее обновление авторизации 2 сек назад" и время обновляется. В чем может быть проблема?
Кстати последний Accounting-Request пришел с таким аттрибутом Acct-Terminate-Cause = Lost-Carrier, типа связь потеряна, может по нему можно закрывать авторизацию в биллинге?
|
|
|
Записан
|
|
|
|
Pa4ka
|
|
« Ответ #22 : 08 Декабря 2016, 22:03:25 » |
|
Понятно. У нас в принципе точно так же сейчас pppoe, isc-dhcp-option-82 и вот допиливаю accel.
Появился нюанс, не гаснет ключик в биллинге кто авторизовался через accel. Самое интересное Accounting-Request уже не шлется, accel сессию терминировал, а в биллинге пишет "Последнее обновление авторизации 2 сек назад" и время обновляется. В чем может быть проблема?
Кстати последний Accounting-Request пришел с таким аттрибутом Acct-Terminate-Cause = Lost-Carrier, типа связь потеряна, может по нему можно закрывать авторизацию в биллинге?
Я точно за не скажу, пишу с телефона. Но на сколько помню там был нюанс с запуженым модулем -m=dhcp биллинга. Он поддерживает авторизацию дальше без радиуса.
|
|
|
Записан
|
|
|
|
fet4
|
|
« Ответ #23 : 08 Декабря 2016, 22:57:15 » |
|
Понятно. У нас в принципе точно так же сейчас pppoe, isc-dhcp-option-82 и вот допиливаю accel.
Появился нюанс, не гаснет ключик в биллинге кто авторизовался через accel. Самое интересное Accounting-Request уже не шлется, accel сессию терминировал, а в биллинге пишет "Последнее обновление авторизации 2 сек назад" и время обновляется. В чем может быть проблема?
Кстати последний Accounting-Request пришел с таким аттрибутом Acct-Terminate-Cause = Lost-Carrier, типа связь потеряна, может по нему можно закрывать авторизацию в биллинге?
Я точно за не скажу, пишу с телефона. Но на сколько помню там был нюанс с запуженым модулем -m=dhcp биллинга. Он поддерживает авторизацию дальше без радиуса. Похоже что так, но если я отключу его то отвалятся клиенты те которые по dhcp без радиуса?! Интересно что в двух документациях по DHCP+radius пишут по разному в одной нужно запускать модуль в другой нет.
|
|
|
Записан
|
|
|
|
Nafanya
NoDeny
Старожил
Карма: 1
Offline
Сообщений: 459
|
|
« Ответ #24 : 20 Декабря 2016, 22:13:44 » |
|
Сделал, как прописано в документации. Работает. РРРоЕ не работает как надо. Логинется подключается. Все равно привязывать надо потом по логину и паролю (вводим логин и пароль) Я конечно понимаю тут идет привязка по маку, но как заставить работать роутеры, уже настроенные? Да и кстати, доступ в инет клиент не получает до момента перезагрузки компа или же роутера. Или же как не дернет сетевой провод. Это конечно лучше было бы указать. Правда я с таким предупреждением сталкивался раньше, сейчас я его не нашел.
|
|
|
Записан
|
Кому то Бог дал ручки, а кому то - грабельки.
|
|
|
fet4
|
|
« Ответ #25 : 26 Декабря 2016, 12:32:16 » |
|
Знатоки подскажите, если прилетают такие вот атрибуты через радиус. DHCP-Option82 = 0x0106000400c8010d020800060012cf7ef380 DHCP-Agent-Remote-Id = 0x00060012cf7ef380 DHCP-Agent-Circuit-Id = 0x000400c8010d Можно ли их как-то разобрать в sql процедуре и использовать при авторизации, вписывая в device_mac и device_port ?
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #26 : 04 Января 2017, 11:59:19 » |
|
Знатоки подскажите, если прилетают такие вот атрибуты через радиус. DHCP-Option82 = 0x0106000400c8010d020800060012cf7ef380 DHCP-Agent-Remote-Id = 0x00060012cf7ef380 DHCP-Agent-Circuit-Id = 0x000400c8010d Можно ли их как-то разобрать в sql процедуре и использовать при авторизации, вписывая в device_mac и device_port ? как то вроде goletsa писал: DROP PROCEDURE IF EXISTS mx80radcheck; DELIMITER $$ CREATE PROCEDURE mx80radcheck (IN login VARCHAR(64)) BEGIN DECLARE usr_id INT; DECLARE usr_mac VARCHAR(12); DECLARE usr_vid INT; DECLARE usr_port INT; DECLARE usr_swmac VARCHAR(12); SELECT UPPER(REPLACE(SUBSTRING(login,1,14),'.','')) INTO usr_mac; SELECT CONV(SUBSTRING(login,20,4),16,10) INTO usr_vid; SELECT CONV(SUBSTRING(login,26,2),16,10) INTO usr_port; SELECT SUBSTRING(login,33,12) INTO usr_swmac;
SELECT usr_mac AS 'MAC', usr_vid AS 'VID', usr_port AS 'PORT', usr_swmac AS 'SWMAC'; END$$ DELIMITER ;
|
|
|
Записан
|
|
|
|
|