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

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Один Динамический IP 2-им абонентам.  (Прочитано 5759 раз)
SeMant
NoDeny
Старожил
*

Карма: 4
Offline Offline

Сообщений: 266



Просмотр профиля Email
« : 15 Января 2014, 14:19:38 »

  У меня такая проблема почти каждый день. При динамической выдаче IP двум абонентам выдаются одинаковые адреса в туннелях, хотя если зайти в админку, то там пишет разные.
  Сегодняшний пример. У одного 10.10.10.1 второго 10.10.10.3. Захожу в mpd пишет у обоих 10.10.10.3. Даю trafshow на обоих интерфейсах, показывает у обоих 10.10.10.3, только у кого должен быть 10.10.10.1 интернет работает у второго соответственно нет. Как только обрываю соединение с первым ( у кого должно быть 10.10.10.1) у второго всё начинает работать.
  Стоит FreeN+, хотя такая проблема встречалась пару раз и на N+, но потом всё как-то само собой прошло.
  Подскажите куда посмотреть или что может такое давать.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #1 : 15 Января 2014, 14:31:57 »

А покажи

tail -100 /var/db/mysql/имя_сервера.err
Записан
SeMant
NoDeny
Старожил
*

Карма: 4
Offline Offline

Сообщений: 266



Просмотр профиля Email
« Ответ #2 : 15 Января 2014, 14:34:10 »

Код:
140114 13:18:07 [Warning] 'user' entry 'root@fibra' ignored in --skip-name-resolve mode.
140114 13:18:07 [Warning] 'user' entry '@fibra' ignored in --skip-name-resolve mode.
140114 13:18:07 [Warning] 'proxies_priv' entry '@ root@fibra' ignored in --skip-name-resolve mode.
140114 13:18:07 [Note] Event Scheduler: Loaded 0 events
140114 13:18:07 [Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.5.35'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
140114 13:23:28 [Note] /usr/local/libexec/mysqld: Normal shutdown

140114 13:23:28 [Note] Event Scheduler: Purging the queue. 0 events
140114 13:23:30 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 3  user: 'nodeny'

140114 13:23:30 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 1  user: 'nodeny'

140114 13:23:30  InnoDB: Starting shutdown...
140114 13:23:31  InnoDB: Shutdown completed; log sequence number 1566182092
140114 13:23:31 [Note] /usr/local/libexec/mysqld: Shutdown complete

140114 13:23:31 mysqld_safe mysqld from pid file /var/db/mysql/fibra.pid ended
140114 13:25:28 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
140114 13:25:28 InnoDB: The InnoDB memory heap is disabled
140114 13:25:28 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140114 13:25:28 InnoDB: Compressed tables use zlib 1.2.7
140114 13:25:28 InnoDB: Initializing buffer pool, size = 128.0M
140114 13:25:28 InnoDB: Completed initialization of buffer pool
140114 13:25:28 InnoDB: highest supported file format is Barracuda.
140114 13:25:29  InnoDB: Waiting for the background threads to start
140114 13:25:30 InnoDB: 5.5.35 started; log sequence number 1566182092
140114 13:25:30 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140114 13:25:30 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
140114 13:25:30 [Note] Server socket created on IP: '0.0.0.0'.
140114 13:25:30 [Warning] 'user' entry 'root@fibra' ignored in --skip-name-resolve mode.
140114 13:25:30 [Warning] 'user' entry '@fibra' ignored in --skip-name-resolve mode.
140114 13:25:30 [Warning] 'proxies_priv' entry '@ root@fibra' ignored in --skip-name-resolve mode.
140114 13:25:30 [Note] Event Scheduler: Loaded 0 events
140114 13:25:30 [Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.5.35'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
140114 15:12:14 [Note] /usr/local/libexec/mysqld: Normal shutdown

140114 15:12:14 [Note] Event Scheduler: Purging the queue. 0 events
140114 15:12:16 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 4  user: 'nodeny'

140114 15:12:16 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 3  user: 'nodeny'

140114 15:12:16  InnoDB: Starting shutdown...
140114 15:12:16  InnoDB: Waiting for 25 pages to be flushed
140114 15:12:16  InnoDB: Shutdown completed; log sequence number 1570383924
140114 15:12:16 [Note] /usr/local/libexec/mysqld: Shutdown complete

140114 15:12:16 mysqld_safe mysqld from pid file /var/db/mysql/fibra.pid ended
140114 15:14:18 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
140114 15:14:18 InnoDB: The InnoDB memory heap is disabled
140114 15:14:18 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140114 15:14:18 InnoDB: Compressed tables use zlib 1.2.7
140114 15:14:18 InnoDB: Initializing buffer pool, size = 128.0M
140114 15:14:18 InnoDB: Completed initialization of buffer pool
140114 15:14:18 InnoDB: highest supported file format is Barracuda.
140114 15:14:18  InnoDB: Waiting for the background threads to start
140114 15:14:19 InnoDB: 5.5.35 started; log sequence number 1570383924
140114 15:14:19 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140114 15:14:19 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
140114 15:14:19 [Note] Server socket created on IP: '0.0.0.0'.
140114 15:14:19 [Warning] 'user' entry 'root@fibra' ignored in --skip-name-resolve mode.
140114 15:14:19 [Warning] 'user' entry '@fibra' ignored in --skip-name-resolve mode.
140114 15:14:19 [Warning] 'proxies_priv' entry '@ root@fibra' ignored in --skip-name-resolve mode.
140114 15:14:19 [Note] Event Scheduler: Loaded 0 events
140114 15:14:19 [Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.5.35'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
140115 13:46:09 [Note] /usr/local/libexec/mysqld: Normal shutdown

140115 13:46:09 [Note] Event Scheduler: Purging the queue. 0 events
140115 13:46:11 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 444  user: 'nodeny'

140115 13:46:11 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 7  user: 'nodeny'

140115 13:46:11 [Warning] /usr/local/libexec/mysqld: Forcing close of thread 6  user: 'nodeny'

140115 13:46:11  InnoDB: Starting shutdown...
140115 13:46:12  InnoDB: Waiting for 75 pages to be flushed
140115 13:46:12  InnoDB: Shutdown completed; log sequence number 1627076877
140115 13:46:12 [Note] /usr/local/libexec/mysqld: Shutdown complete

140115 13:46:12 mysqld_safe mysqld from pid file /var/db/mysql/fibra.pid ended
140115 13:46:12 mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
140115 13:46:13 InnoDB: The InnoDB memory heap is disabled
140115 13:46:13 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140115 13:46:13 InnoDB: Compressed tables use zlib 1.2.7
140115 13:46:13 InnoDB: Initializing buffer pool, size = 128.0M
140115 13:46:13 InnoDB: Completed initialization of buffer pool
140115 13:46:13 InnoDB: highest supported file format is Barracuda.
140115 13:46:13  InnoDB: Waiting for the background threads to start
140115 13:46:14 InnoDB: 5.5.35 started; log sequence number 1627076877
140115 13:46:14 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140115 13:46:14 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
140115 13:46:14 [Note] Server socket created on IP: '0.0.0.0'.
140115 13:46:14 [Warning] 'user' entry 'root@fibra' ignored in --skip-name-resolve mode.
140115 13:46:14 [Warning] 'user' entry '@fibra' ignored in --skip-name-resolve mode.
140115 13:46:14 [Warning] 'proxies_priv' entry '@ root@fibra' ignored in --skip-name-resolve mode.
140115 13:46:14 [Note] Event Scheduler: Loaded 0 events
140115 13:46:14 [Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.5.35'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #3 : 15 Января 2014, 17:44:39 »

Вечером обещал отписаться человек, у которого была такая проблема. Подозрение на то, что mpd переклинивает и он перестает посылать accounting-пакеты, которые Н+ воспринимает как "клиент жив". Если это подтвердится - возможно придется написать модуль, который будет обращаться к мпд и смотреть жива ли сессия и по ней апдейтить авторизацию в базе Н+
Записан
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #4 : 15 Января 2014, 19:53:54 »

Да-да, была такая проблема…
Решил ее изменением процедур радиуса:

radcheck
Код:
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

radreply
Код:
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  CALL set_auth(usr_ip, 'mod=pppoe;');

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';
END

radstop
Код:
CREATE PROCEDURE `radstop`(IN login VARCHAR(64), IN usr_ip VARCHAR(16))
BEGIN
  DECLARE usr_id INT;
  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  INSERT INTO auth_log (uid,ip,start,end,properties) SELECT usr_id,INET_ATON(ip),start,UNIX_TIMESTAMP(),properties FROM auth_now WHERE ip=usr_ip;
  DELETE FROM auth_now WHERE ip = usr_ip LIMIT 1;
END

radupdate
Код:
CREATE PROCEDURE `radupdate`(IN login VARCHAR(64), IN ip VARCHAR(16), IN properties VARCHAR(255))
BEGIN
  CALL set_auth(ip, CONCAT('mod=pppoe;',replace(properties,':','')));
END

Суть в чем - апдейтим авторизацию по фактическому ip-адресу сессии клиента, а не по выборке из get_ip
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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