Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Efendy от 10 Июня 2016, 17:39:56



Название: Dhcp + Radius
Отправлено: Efendy от 10 Июня 2016, 17:39:56
Как известно, на данный момент isc-dhcp-server не умеет работать с радиусом. Freeradius имеет встроенный dhcp-сервер, но он экспериментальный, да и вообще мне не удалось завести его под FreeBSD. Что нам остается? Либо юзать Linux или Mikrotik либо поднять виртуальную машину на FreeBSD и на ней Linux или Mikrotik с установленным dhcp-сервером.

Я выбрал Микротик. По этому всему написал документацию: http://nodeny.com.ua:8080/wiki/index.php/Dhcp#.D0.92.D0.B0.D1.80.D0.B8.D0.B0.D0.BD.D1.82_Dchp_.2B_Radius

Вроде бы действий с вашей стороны будет немного.

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


Название: Re: Dhcp + Radius
Отправлено: elite от 11 Июня 2016, 21:06:55
А чем микротик лучше в качестве дхцп сервера?


Название: Re: Dhcp + Radius
Отправлено: Efendy от 11 Июня 2016, 22:08:28
А чем микротик лучше в качестве дхцп сервера?
лучше чем что? для фри просто нет вариантов, поэтому там лучше все, что работает. Ну а микротик лучше  чем линукс тем, что настраивается буквально парой команд. Естественно, никто не запрещает использовать линукс с accel-ppp, например. Но это, как минимум, по объему будет больше чем микротик


Название: Re: Dhcp + Radius
Отправлено: elite от 12 Июня 2016, 12:02:24
Вопрос немного в другом: чем он лучше, чем isc-dhcp-server с генерацией конфигов nomake ?


Название: Re: Dhcp + Radius
Отправлено: elite от 12 Июня 2016, 14:30:54
Есть еще вариант - http://www.netlab.linkpc.net/wiki/ru:software:perl:dhcp_server#требования


Название: Re: Dhcp + Radius
Отправлено: Efendy от 12 Июня 2016, 18:08:30
Вопрос немного в другом: чем он лучше, чем isc-dhcp-server с генерацией конфигов nomake ?
Не знаю. Может быть лучше, может быть хуже - меня постоянно спрашивали любители радиуса - я им сделал костыль решение. Возможно, при генерации конфига не будет работать схема с регистрацией маков - сейчас влом думать так это или нет
Цитировать
Есть еще вариант - http://www.netlab.linkpc.net/wiki/ru:software:perl:dhcp_server#требования
Круто. Сам хотел написать подобный скрипт, но посчитал, что времени займет много, а его итак нет. Не знаю насколько это хороший вариант - надо тестировать, может оказаться, что какой-то нюанс не учтен и пользователи затрахают за глюки со специфическим оборудованием


Название: Re: Dhcp + Radius
Отправлено: fet4 от 26 Октября 2016, 10:14:36
А если используется модуль Радиус атрибутов, в связке dhcp+radius корректно будет работать?


Название: Re: Dhcp + Radius
Отправлено: Efendy от 26 Октября 2016, 10:56:34
А если используется модуль Радиус атрибутов, в связке dhcp+radius корректно будет работать?

Я указал в доке http://nodeny.com.ua:8080/wiki/index.php/Dhcp#.D0.92.D0.B0.D1.80.D0.B8.D0.B0.D0.BD.D1.82_Dchp_.2B_Radius , что isc-dhcpd не умеет работать с радиусом, поэтому я предложил использовать dhcpd от микротика на виртуальной машине, в доке описано


Название: Re: Dhcp + Radius
Отправлено: fet4 от 26 Октября 2016, 12:02:35
Вы меня не правильно поняли, я имею ввиду если передавать радиус атрибуты через модуль "Radius атрибуты" тому же accel-ppp только в режиме ipoe, насколько я понял там разные процедуры radreply. В данный момент у меня так и работает только в режиме pppoe. Хочу запустить параллельно ipoe.


Название: Re: Dhcp + Radius
Отправлено: sever от 27 Октября 2016, 16:30:25
у Accel-ppp есть свой встроенный DHCP
Код:
# netstat -tulpn | grep :67
udp        0      0 0.0.0.0:67              0.0.0.0:*                           6567/accel-pppd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           6567/accel-pppd


Название: Re: Dhcp + Radius
Отправлено: Efendy от 27 Октября 2016, 18:14:06
у Accel-ppp есть свой встроенный DHCP
Ну это ж только на линуксах. И как работает, успешно?


Название: Re: Dhcp + Radius
Отправлено: sever от 28 Октября 2016, 15:47:52
Пока сказать не могу.
Тестируем.


Название: Re: Dhcp + Radius
Отправлено: fet4 от 29 Октября 2016, 11:29:36
Вы случаем параллельно на данном брасе с ipoe, pppoe не используете ?


Название: Re: Dhcp + Radius
Отправлено: sever от 29 Октября 2016, 13:17:22
Вы случаем параллельно на данном брасе с ipoe, pppoe не используете ?

Нет. На отдельном тазике тестируем.
Рррое у нас в принципе не используется.


Название: Re: Dhcp + Radius
Отправлено: hardman от 01 Декабря 2016, 14:27:19
Я выбрал Микротик. По этому всему написал документацию:


Сделал по документации , начал проверять ..  нет уверенности что я правильно понимаю работу этого режима
пользовательский комп подключаться к сети видит заглушку с предупреждением что мол вы либо комп сменили .. нажимаешь открыть доступ , спрашивает логин пароль  в личный кабинет , вводишь и вроде как у этого пользователя я ожидаю должна  сформироваться связка мак + ip  и включиться интернет, но этого не проходит?.  дайте комментарий как должно быть.

Сейчас ситуация такова   Если я вношу мак через админку в аккаунт пользователя то все работает , пользователь подключается и получает интернет , в админке виден  ip.


Название: Re: Dhcp + Radius
Отправлено: fet4 от 01 Декабря 2016, 14:32:30
Делаю связку Dhcp + Radius
А как в этом случае происходит разбор и регистрация по option 82?

И можно ли выдавать клиенту со статического пула адрес?


Название: Re: Dhcp + Radius
Отправлено: Efendy от 01 Декабря 2016, 18:41:42
Цитировать
вводишь и вроде как у этого пользователя я ожидаю должна  сформироваться связка мак + ip

Должна сформироваться связка не mac + ip, а id абонента + mac. Это существенно. Потому что ip может быть выдан вообще любой. Благодаря этому упрощается настройка - в стандартной настройке isc-dhcpd выдает ip от балды, поскольку он не умеет radius  и ему никак не узнать какой ip нужно выдавать (есть еще настройка через периодическое формирование конфига для dhcp, но это другая тема). Поэтому биллинг адаптируется к тому, что выдал dhcp. Dchp сообщает биллингу: я выдал такой-то ip такому-то мак-у. И биллинг смотрит у кого такой мак и соответсвенно для данного ip либо включает либо выключает доступ, скорости и т.д. Когда мак неизвестен, то биллинг спрашивает логин и пароль, после чего связывает мак с id абонента. Это делается модулем dhcp личного кабинета. Если он не будет включен в список в настройках биллинга, то никакой связки сформировано не будет


Название: Re: Dhcp + Radius
Отправлено: fet4 от 08 Декабря 2016, 18:35:52
В процедуре radreply передается атрибут Session-Timeout=600 и accel-ppp рвет сессию через 600 сек. я так понимаю это для не авторизованных? Но он же выдается всем?! Или я не прав? Или какой смысл его?


Название: Re: Dhcp + Radius
Отправлено: Pa4ka от 08 Декабря 2016, 19:31:12
В процедуре radreply передается атрибут Session-Timeout=600 и accel-ppp рвет сессию через 600 сек. я так понимаю это для не авторизованных? Но он же выдается всем?! Или я не прав? Или какой смысл его?
Для accel с ipoe у них на форуме есть темка, если конечно не читали еще
accel-ppp.org/forum/viewtopic.php?t=513
Session-Timeout я лично использую для не зарегистрированных маков получают специальный пул, у них есть несколько минут для авторизации через заглушку и потом сессия в любом случае рветься и клиент получит уже не гостевой ИП


Название: Re: Dhcp + Radius
Отправлено: fet4 от 08 Декабря 2016, 21:05:26
Почитал. Понял.

У Вас это наверно как-то в процедурах описано что Session-Timeout получает только незареганные маки, если да можно глянуть? А то у меня в стандартных все получают его.
В принципе мне он и не нужен этот атрибут я его убрал, у меня так - клиент получил с пула ip, его кидает на заглушку, он регается, его вносит в список разрешенных и он пользуется инетом без передергиваний кабеля.

А как у Вас авторизация происходит vlan per user или option 82?


Название: Re: Dhcp + Radius
Отправлено: Pa4ka от 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, короче говоря каша и ничего не поделаеш).


Название: Re: Dhcp + Radius
Отправлено: fet4 от 08 Декабря 2016, 21:45:06
Понятно. У нас в принципе точно так же сейчас pppoe, isc-dhcp-option-82 и вот допиливаю accel.

Появился нюанс, не гаснет ключик в биллинге кто авторизовался через accel. Самое интересное Accounting-Request уже не шлется, accel сессию терминировал, а в биллинге пишет "Последнее обновление авторизации 2 сек назад" и время обновляется. В чем может быть проблема?

Кстати последний Accounting-Request пришел с таким аттрибутом Acct-Terminate-Cause = Lost-Carrier, типа связь потеряна, может по нему можно закрывать авторизацию в биллинге?


Название: Re: Dhcp + Radius
Отправлено: Pa4ka от 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 биллинга. Он поддерживает авторизацию дальше без радиуса.


Название: Re: Dhcp + Radius
Отправлено: fet4 от 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 пишут по разному в одной нужно запускать модуль в другой нет.


Название: Re: Dhcp + Radius
Отправлено: Nafanya от 20 Декабря 2016, 22:13:44
Сделал, как прописано в документации. Работает. РРРоЕ не работает как надо. Логинется подключается. Все равно привязывать надо потом по логину и паролю (вводим логин и пароль) Я конечно понимаю тут идет привязка по маку, но как заставить работать роутеры, уже настроенные?
Да и кстати, доступ в инет клиент не получает до момента перезагрузки компа или же роутера. Или же как не дернет сетевой провод. Это конечно лучше было бы указать. Правда я с таким предупреждением сталкивался раньше, сейчас я его не нашел.


Название: Re: Dhcp + Radius
Отправлено: fet4 от 26 Декабря 2016, 12:32:16
Знатоки подскажите, если прилетают такие вот атрибуты через радиус.

Код:
        DHCP-Option82 = 0x0106000400c8010d020800060012cf7ef380
        DHCP-Agent-Remote-Id = 0x00060012cf7ef380
        DHCP-Agent-Circuit-Id = 0x000400c8010d

Можно ли их как-то разобрать в sql процедуре и использовать при авторизации, вписывая в device_mac и device_port ?


Название: Re: Dhcp + Radius
Отправлено: NodenY45 от 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 ;