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

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

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« : 22 Октября 2019, 09:28:05 »

Установил модуль по инструкции с документации.

Сейчас появилось возле каждого IP клиента возможность выбора числа на которое можно привязать IP.
Пробую ставить значение, установились, но если обновить страницу все значения становятся пустые.

В базе все запросы выполнил.

Код:
root@localhost [nodeny]> SELECT get_ip_by_num(1, 3);
+---------------------+
| get_ip_by_num(1, 3) |
+---------------------+
| 172.16.0.100        |
+---------------------+
1 row in set (0.00 sec)

Вывод Radius при авторизации:

Код:
 modules {
  # Loaded module rlm_sql
  # Loading module "sql" from file /usr/local/etc/raddb/mods-enabled/sql
  sql {
        driver = "rlm_sql_mysql"
        server = "localhost"
        port = 3306
        login = "root"
        password = <<< secret >>>
        radius_db = "nodeny"
        read_groups = yes
        read_profiles = yes
        read_clients = no
        delete_stale_sessions = yes
        sql_user_name = ""
        default_user_profile = ""
        client_query = "SELECT id,nasname,shortname,type,secret FROM nas"
        authorize_check_query = "call radcheck('%{User-Name}', 0)"
        authorize_reply_query = "call radreply('%{User-Name}', '%{User-Password}')"
        safe_characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_: /"
        auto_escape = no
   accounting {
        reference = "%{tolower:type.%{Acct-Status-Type}.query}"
    type {
     accounting-on {
     }
     accounting-off {
     }
     start {
        query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',                        'user=%{Calling-Station-Id};nas=%{NAS-IP-Address};ses=%{Acct-Session-Id}')"
     }
     interim-update {
        query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',                        'user=%{Calling-Station-Id};nas=%{NAS-IP-Address};ses=%{Acct-Session-Id}')"
     }
     stop {
        query = "call radstop('%{User-Name}', '%{Framed-IP-Address}')"
     }
    }
   }
   post-auth {
        reference = ".query"
        query = "call radupdate('%{User-Name}','%{reply:Framed-IP-Address}',                'user=%{Calling-Station-Id};nas=%{NAS-IP-Address};ses=%{Acct-Session-Id}')"
   }
  }
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked

....................

Ready to process requests
(0) Received Access-Request Id 28 from x.x.x.x:34285 to x.x.x.x:1812 length 134
(0)   Service-Type = Framed-User
(0)   Framed-Protocol = PPP
(0)   NAS-Port = 15728656
(0)   NAS-Port-Type = Ethernet
(0)   User-Name = "vano+0"
(0)   Calling-Station-Id = "00:5A:0A:3D:07:5D"
(0)   Called-Station-Id = "nas"
(0)   NAS-Port-Id = "ether5"
(0)   CHAP-Challenge = 0x6703b3eda9e156c2c155240e7c419743
(0)   CHAP-Password = 0x01c9bc50468195efc3642bcf93f87e055c
(0)   NAS-Identifier = "nas"
(0)   NAS-IP-Address = x.x.x.x
(0) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/nodeny
(0)   authorize {
rlm_sql (sql): Reserved connection (0)
(0) sql: EXPAND call radcheck('%{User-Name}', 0)
(0) sql:    --> call radcheck('vano=2B0', 0)
(0) sql: Executing select query: call radcheck('vano=2B0', 0)
(0) sql: ERROR: rlm_sql_mysql: ERROR 1318 (Incorrect number of arguments for PROCEDURE nodeny.radcheck; expected 1, got 2): 42000
(0) sql: ERROR: Error getting check attributes
rlm_sql (sql): Released connection (0)
(0)     [sql] = fail
(0)   } # authorize = fail
(0) Invalid user (sql: rlm_sql_mysql: ERROR 1318 (Incorrect number of arguments for PROCEDURE nodeny.radcheck; expected 1, got 2): 42000): [vano+0] (from client nas port 15728656 cli 00:5A:0A:3D:07:5D)
(0) Using Post-Auth-Type Reject
(0) Post-Auth-Type sub-section not found.  Ignoring.
(0) # Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny
(0) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
(0) (0) Discarding duplicate request from client nas port 34285 - ID: 28 due to delayed response
Waking up in 0.6 seconds.
(0) (0) Discarding duplicate request from client nas port 34285 - ID: 28 due to delayed response
Waking up in 0.3 seconds.
(0) Sending delayed response
(0) Sent Access-Reject Id 28 from x.x.x.x:1812 to x.x.x.x:34285 length 20
Waking up in 3.9 seconds.
(0) Cleaning up request packet ID 28 with timestamp +13
Ready to process requests





Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #1 : 22 Октября 2019, 21:34:58 »

После изменения числа справа должна появится кнопка "ок" и только после ее нажатия сохранится. У тебя она не появляется?
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #2 : 23 Октября 2019, 05:30:24 »

Кнопка "Ок" есть,  я нажимаю. А дальше то что описал в предыдущем посте.
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #3 : 23 Октября 2019, 10:45:39 »

Проверил несколько раз, после выбора логина с выпадающего списка нажимаю "Ok"
установилось значение, но после нажатия Ctrl+F5 поля снова пустые.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #4 : 23 Октября 2019, 15:37:59 »

Если переключиться в дебаг режим http://nodeny.com.ua/wiki/index.php/Debug_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC
То в дебаге будет

Код:
UPDATE ip_pool SET tags=
?

При нажатии F12 на вкладке console и network есть ошибки?
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #5 : 24 Октября 2019, 06:24:32 »

Код:
UPDATE ip_pool SET tags=',0,' WHERE type='static' AND ip='2886729828' AND uid='1'
Строк: 1. Время выполнения sql: 0.0004 сек

На вкладке console только это:
Код:
unreachable code after return statement nody.js:873:8

На вкладке network ошибок нет.

Если нажать только на F5 значения в поле остаются, а вот после нажатия Ctrl+F5 становятся пустые.

Ошибок нет. Debug включен в stat.pl, я его и не выключал, так как это тестовый тазик.
« Последнее редактирование: 24 Октября 2019, 07:20:38 от Jovani » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #6 : 24 Октября 2019, 08:46:31 »

На вкладке console только это:
Код:
unreachable code after return statement nody.js:873:8
Думаю проблема в этом. Javascript делает ajax запросы, если он не работает (с кодом проблема) - нажатие на кнопку "ок" ни к чему не приведет - это еще видно потому, что в дебаге нет обновления ip_pool.

Ты nody.js не изменял? Прикрепи его на всякий случай
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #7 : 24 Октября 2019, 09:45:28 »

Нет, не менял и не изменял.
N+ rev.588
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #8 : 24 Октября 2019, 12:06:08 »

Обнови биллинг, исправил чтоб работало в фаерфоксе
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #9 : 24 Октября 2019, 12:39:49 »

Обновил.
rev 590
Выполнил
perl install.pl -x
perl install.pl -w=www

Никаких результатов.
Даже пробую в Chrom тот же результат.

Так, если ставлю тег блоку IP...
Код:
UPDATE ip_pool SET tags=',nas1,0,' WHERE type='static' AND ip='2886729828' AND uid='1'
Строк: 1. Время выполнения sql: 0.0003 сек


Код:
unreachable code after return statement nody.js:873:8 
w.focus();
« Последнее редактирование: 24 Октября 2019, 13:01:26 от Jovani » Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #10 : 24 Октября 2019, 17:04:40 »

Так, если ставлю тег блоку IP...
именно блоку или ты его разворачиваешь и напротив каждого ip стоит поле ввода номера?
Код:
UPDATE ip_pool SET tags=',nas1,0,' WHERE type='static' AND ip='2886729828' AND uid='1'
здесь видно, что номер логина устанавливается в 0. Там же в дебаге выше должно быть:
Код:
a      = 'ajUserSetIpLogin'
  domid  = 'mUser_ip_list'
  ipn    = '...'
  uid    = '1'
  val    = 'цифра'
цифра равна номеру логина, который ты устанавливаешь? И лучше приведи скриншот с этого места и до UPDATE

Код:
unreachable code after return statement nody.js:873:8 
w.focus();
это нормально и просто предупреждение, что есть код, который никогда не будет выполнен. Там я исключил его из выполнения, пока он не нужен
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #11 : 24 Октября 2019, 17:10:39 »

Вот это после того как установил логин для первого IP.
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #12 : 24 Октября 2019, 20:11:06 »

Разобрался. В скрипте переходе с Н50 старая версия вьюхи v_ips.

Выполни в консоли mysql:

Код:
DROP VIEW IF EXISTS v_ips;
CREATE ALGORITHM=MERGE VIEW v_ips AS
    SELECT
        IF(a.start IS NULL,0,1) AS auth, i.uid, INET_NTOA(i.ip) AS ip, i.ip AS ipn,
        i.type, i.`release`, IF(a.last<a.start, 0, a.last-a.start) AS tm_auth,
        a.start, a.last, a.properties, i.tags
    FROM ip_pool i
    LEFT JOIN auth_now a ON INET_NTOA(i.ip) = a.ip
    WHERE i.uid<>0;
Записан
Jovani
NoDeny
Постоялец
*

Карма: -9
Offline Offline

Сообщений: 234


Просмотр профиля
« Ответ #13 : 24 Октября 2019, 20:35:26 »

Теперь уже норм.
Но радиус говорит что все плохо.
Код:
(1) Received Access-Request Id 121 from 192.168.52.101:58802 to 192.168.52.100:1812 length 134
(1)   Service-Type = Framed-User
(1)   Framed-Protocol = PPP
(1)   NAS-Port = 15728682
(1)   NAS-Port-Type = Ethernet
(1)   User-Name = "vano+0"
(1)   Calling-Station-Id = "B0:50:DA:3D:E7:50"
(1)   Called-Station-Id = "irsh"
(1)   NAS-Port-Id = "ether5"
(1)   CHAP-Challenge = 0x7bf934303d6e2f7400715d45bc93ab62
(1)   CHAP-Password = 0x016a8f54b074c530544453e2e605114e04
(1)   NAS-Identifier = "irsh"
(1)   NAS-IP-Address = 192.168.52.102
(1) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/nodeny
(1)   authorize {
rlm_sql (sql): Reserved connection (1)
(1) sql: EXPAND call radcheck('%{User-Name}')
(1) sql:    --> call radcheck('vano=2B0')
(1) sql: Executing select query: call radcheck('vano=2B0')
(1) sql: WARNING: Cannot do check groups when group_membership_query is not set
rlm_sql (sql): Released connection (1)
(1)     [sql] = notfound
(1) pap: WARNING: No "known good" password found for the user.  Not setting Auth-Type
(1) pap: WARNING: Authentication will fail unless a "known good" password is available
(1)     [pap] = noop
(1)   } # authorize = noop
(1) ERROR: No Auth-Type found: rejecting the user via Post-Auth-Type = Reject
(1) Failed to authenticate the user
(1) Using Post-Auth-Type Reject
(1) Post-Auth-Type sub-section not found.  Ignoring.
(1) # Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny
(1) Delaying response for 1.000000 seconds
Waking up in 0.3 seconds.
(1) (1) Discarding duplicate request from client irsh port 58802 - ID: 121 due to delayed response
Waking up in 0.6 seconds.
(1) (1) Discarding duplicate request from client irsh port 58802 - ID: 121 due to delayed response
Waking up in 0.4 seconds.
(1) Sending delayed response
(1) Sent Access-Reject Id 121 from 192.168.52.100:1812 to 192.168.52.101:58802 length 20
Waking up in 3.9 seconds.
(1) Cleaning up request packet ID 121 with timestamp +25
Ready to process requests

Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #14 : 24 Октября 2019, 21:40:29 »

Цитировать
call radcheck('vano=2B0')
смотрим в документацию к модулю и видим:
Цитировать
Также необходимо настроить радиус так, чтобы он не экранировал знак плюса в логине, в sql.conf добавьте:

safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.+-_: /"
Записан
Страниц: [1] 2 3
  Печать  
 
Перейти в:  

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