Биллинговая система Nodeny
28 Марта 2024, 13:01:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Привязка мак-адреса по pppoe  (Прочитано 14049 раз)
boomer666
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 194



Просмотр профиля Email
« : 20 Мая 2013, 15:05:57 »

Добрый день.
Помогите изменить процедуру чтобы проверялся мак-адрес.
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass') AS Value,'=='
    FROM users WHERE name=login;
END$$
DELIMITER ;


чтобы проверялся мак, а если мас-адрес не записан - привязка для того логина нету
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« Ответ #1 : 20 Мая 2013, 15:53:16 »

Процедура проверяющая связку логин-пароль-мак такая:

Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64), IN umac VARCHAR(64))
BEGIN
  SELECT LOWER(REPLACE(umac, ':', '')) INTO umac;
  SELECT u.id, u.name, 'Password' AS Attribute, AES_DECRYPT(u.passwd,'hardpass') AS Value,'=='
    FROM users u JOIN mac_uid m ON u.id=m.uid WHERE u.name=login AND m.mac=umac;
END$$
DELIMITER ;


Код:
ee /usr/local/etc/raddb/sql.conf
В конце файла находим строку authorize_check_query = ... и меняем ее на:

Код:
authorize_check_query = "call radcheck('%{User-Name}', '%{Calling-Station-Id}')"
« Последнее редактирование: 21 Апреля 2017, 11:09:48 от Efendy » Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1231

In LAN we trust!

358714596
Просмотр профиля
« Ответ #2 : 21 Мая 2013, 08:31:12 »

По-хорошему, надо немного не так делать. PPPoE соединение поднимать в любом случае, но в зависимости от того, какой мак адрес у клиента, пускать его в инет или посылать в пешее эротическое путешествие.
Записан
YuSHa
NoDeny
Постоялец
*

Карма: 6
Offline Offline

Сообщений: 183


318444293
Просмотр профиля Email
« Ответ #3 : 19 Июня 2013, 14:07:21 »

По-хорошему, надо немного не так делать. PPPoE соединение поднимать в любом случае, но в зависимости от того, какой мак адрес у клиента, пускать его в инет или посылать в пешее эротическое путешествие.
и как сделать эту проверку на валидность мака?
Записан
boomer666
NoDeny
Постоялец
*

Карма: 1
Offline Offline

Сообщений: 194



Просмотр профиля Email
« Ответ #4 : 11 Сентября 2013, 14:17:12 »

может кому пригодится.
Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
  SELECT u.id, u.name, 'Password' AS Attribute, AES_DECRYPT(passwd,'hardpass3') AS Value,'=='
AS Op FROM users u WHERE u.name=login ;
IF ((SELECT m.uid FROM users u JOIN mac_uid m WHERE uid=u.id ORDER BY m.uid DESC LIMIT 1) <> '')
THEN
  SELECT users.id,users.name,'Calling-Station-Id' AS Attribute,mac_uid.mac AS Value,'==' AS Op FROM users,mac_uid WHERE mac_uid.uid=users.id AND users.name=login ORDER BY mac_uid.uid DESC LIMIT 1;
END IF;   
END$$
DELIMITER ;

может что то нет так но она работает)
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« Ответ #5 : 28 Октября 2013, 18:57:29 »

Если мак приходит с двоеточиями или тире, то в mpd5:

Код:
set pppoe mac-format unformatted

http://sourceforge.net/p/mpd/discussion/44693/thread/72d9d137/#41c5
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #6 : 28 Октября 2013, 19:23:21 »

Дык в радиусе есть модуль rewrite oO меняй какие хочешь атрибуты
man rlm_attr_rewrite
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4794



Просмотр профиля
« Ответ #7 : 28 Октября 2013, 19:26:35 »

Дык в радиусе есть модуль rewrite oO меняй какие хочешь атрибуты
man rlm_attr_rewrite
мой вариант короче, не каждый из "админов" осилит rewrite
Записан
Groov
NoDeny
Постоялец
*

Карма: -3
Offline Offline

Сообщений: 100

102196993
Просмотр профиля
« Ответ #8 : 28 Октября 2013, 19:38:07 »

Такова проблема существует у кого mpd5.7

Решение:
качаем исходники от суда http://mpd.cvs.sourceforge.net/viewvc/mpd/

добавляем параметр в конфиг mpd  set pppoe mac-format unformatted

И всё  работает )))

было

Calling-Station-Id = "00:25:22:e8:7e:a5"

стало

Calling-Station-Id = "002522e87ea5"
Записан
Groov
NoDeny
Постоялец
*

Карма: -3
Offline Offline

Сообщений: 100

102196993
Просмотр профиля
« Ответ #9 : 28 Октября 2013, 21:18:17 »

Такова проблема существует у кого mpd5.7

Решение:
качаем исходники от суда http://mpd.cvs.sourceforge.net/viewvc/mpd/

добавляем параметр в конфиг mpd  set pppoe mac-format unformatted

И всё  работает )))

было

Calling-Station-Id = "00:25:22:e8:7e:a5"

стало

Calling-Station-Id = "002522e87ea5"

проверил без  set pppoe mac-format unformatted после того как перекомпилил ! всё ок ! можно и не добавлять .
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!