Название: Один Динамический IP 2-им абонентам.
Отправлено: SeMant от 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+, но потом всё как-то само собой прошло. Подскажите куда посмотреть или что может такое давать.
Название: Re: Один Динамический IP 2-им абонентам.
Отправлено: Efendy от 15 Января 2014, 14:31:57
А покажи
tail -100 /var/db/mysql/имя_сервера.err
Название: Re: Один Динамический IP 2-им абонентам.
Отправлено: SeMant от 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
Название: Re: Один Динамический IP 2-им абонентам.
Отправлено: Efendy от 15 Января 2014, 17:44:39
Вечером обещал отписаться человек, у которого была такая проблема. Подозрение на то, что mpd переклинивает и он перестает посылать accounting-пакеты, которые Н+ воспринимает как "клиент жив". Если это подтвердится - возможно придется написать модуль, который будет обращаться к мпд и смотреть жива ли сессия и по ней апдейтить авторизацию в базе Н+
Название: Re: Один Динамический IP 2-им абонентам.
Отправлено: elite от 15 Января 2014, 19:53:54
Да-да, была такая проблема… Решил ее изменением процедур радиуса: radcheckCREATE 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 radreplyCREATE 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 radstopCREATE 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 radupdateCREATE 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
|