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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: freebsd9 mpd5 freeraius2  (Прочитано 6944 раз)
serg_sk
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 29


Просмотр профиля Email
« : 14 Августа 2015, 14:34:42 »

Привет всем!

Сделал вот такую связку. Все работает и отлично. Но есть 1 косяк.
Если 2 пользователя подключаются под одним логином и паролем, то их обоих пускает и интернет не работает соответственно.
Выходит вот такая картина:
Цитировать
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1458
   inet 192.168.123.1 --> xxx.xxx.xxx.33 netmask 0xffffffff
   inet6 fe80::214:5eff:fe0b:7a64%ng0 prefixlen 64 scopeid 0x8
   nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1458
   inet 192.168.123.1 --> xxx.xxx.xxx.33 netmask 0xffffffff
   inet6 fe80::214:5eff:fe0b:7a64%ng1 prefixlen 64 scopeid 0x9
   nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
То есть им выдает один и тот же ип(что по сути верно) ибо за этим логином закреплен именно этот ип.

На freebsd8 попытка законектиться второй раз заканчивалась вот на этом месте:
Цитировать
Aug 14 15:12:07 nas4 mpd: [B-2] IFACE: Adding IPv4 address to ng1 failed: File exists
А на freebsd9 все проходит дальше и создается ng1 с таким же ипом, как и ng0.
Как можно отрубать повторный логин абонента, если он в данный момент уже активен?
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #1 : 14 Августа 2015, 16:19:50 »

Привет всем!

Сделал вот такую связку. Все работает и отлично. Но есть 1 косяк.
Если 2 пользователя подключаются под одним логином и паролем, то их обоих пускает и интернет не работает соответственно.

Как можно отрубать повторный логин абонента, если он в данный момент уже активен?


изменить процедуру в mysql
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #2 : 14 Августа 2015, 23:45:03 »

Я изменяю процедуру вот таким образом:
Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name=login AND auth='no';
END$$
DELIMITER;
Правда это было для первого радиуса, хз что там сейчас для второго надо. Смысл спитча сводится к тому чтобы проверять наличие авторизации перед ее разрешением т.е. добавляется условие AND auth='no'
После замены процедуры авторизации нарушителю, пытающемуся подколючится с логином и паролем авторизованного аккаунта будет выдавать ошибку авторизации "691" и так ему и надо )))
Записан
ser970
NoDeny
Спец
*

Карма: 70
Offline Offline

Сообщений: 1323

262462619
Просмотр профиля Email
« Ответ #3 : 15 Августа 2015, 09:45:56 »

Я изменяю процедуру вот таким образом:
Код:
DROP PROCEDURE IF EXISTS `radcheck`;
DELIMITER $$
CREATE PROCEDURE `radcheck` (IN login VARCHAR(64))
BEGIN
SELECT id,name,'Password' AS Attribute,AES_DECRYPT(passwd,'hardpass3') AS Value,'==' FROM users WHERE name=login AND auth='no';
END$$
DELIMITER;
Правда это было для первого радиуса, хз что там сейчас для второго надо. Смысл спитча сводится к тому чтобы проверять наличие авторизации перед ее разрешением т.е. добавляется условие AND auth='no'
После замены процедуры авторизации нарушителю, пытающемуся подколючится с логином и паролем авторизованного аккаунта будет выдавать ошибку авторизации "691" и так ему и надо )))
да именно так auth='no'
версия радиуса не играет роли.
но можно сделал чуть не так = выдавать фейковый ip и страницу заглушки....
Записан
serg_sk
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 29


Просмотр профиля Email
« Ответ #4 : 17 Августа 2015, 08:06:42 »

А процедуру radstop менять не надо? Вдруг соединение оборвется, а в базе все еще будет показывать, что абонент авторизирован. Его ж по идее не пустит.
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #5 : 17 Августа 2015, 09:23:42 »

А процедуру radstop менять не надо? Вдруг соединение оборвется, а в базе все еще будет показывать, что абонент авторизирован. Его ж по идее не пустит.
Не надо. Тут приходится выбирать из двух зол злейшее. ))) С неожиданными обрывами бороться другими способами нужно.
Записан
serg_sk
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 29


Просмотр профиля Email
« Ответ #6 : 17 Августа 2015, 09:26:52 »

Я конечно сомневаюсь, что какой-то зверь будет подключаться со своим логином и паролем 2 раза. Но.. эти черти все могут сотворить. Потому, надо бы пресечь.
Ладно, будем проверять Улыбающийся
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #7 : 17 Августа 2015, 09:59:00 »

Я конечно сомневаюсь, что какой-то зверь будет подключаться со своим логином и паролем 2 раза. Но.. эти черти все могут сотворить. Потому, надо бы пресечь.
Ладно, будем проверять Улыбающийся
Не, юзер не будет. Он даст логин и пароль своим корешам и они всем колхозом будут сидеть и если тазик с мпд один - то это пол беды, работать толком не будет, но у меня был случай когда тазов было 5 штук и по PPPoE рандомно коннектились на них, вот если авторизация на разных тазах - то инет работает со свистом у обоих.
Записан
serg_sk
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 29


Просмотр профиля Email
« Ответ #8 : 17 Августа 2015, 12:28:38 »

Тазик одни. Работать не будет Улыбающийся
Записан
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #9 : 17 Августа 2015, 14:22:14 »

Не, юзер не будет. Он даст логин и пароль своим корешам и они всем колхозом будут сидеть и если тазик с мпд один - то это пол беды, работать толком не будет, но у меня был случай когда тазов было 5 штук и по PPPoE рандомно коннектились на них, вот если авторизация на разных тазах - то инет работает со свистом у обоих.
У меня много тазиков было связано по ospf, даже если были повторные соединения - в таблице маршрутизации был 1 адрес, он и работал.
Ну точнее у меня NAT от PPPoE был отделен (исторически сложилось).
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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