Jovani
NoDeny
Постоялец
Карма: -9
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
|
|
« Ответ #1 : 22 Октября 2019, 21:34:58 » |
|
После изменения числа справа должна появится кнопка "ок" и только после ее нажатия сохранится. У тебя она не появляется?
|
|
|
Записан
|
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
Offline
Сообщений: 234
|
|
« Ответ #2 : 23 Октября 2019, 05:30:24 » |
|
Кнопка "Ок" есть, я нажимаю. А дальше то что описал в предыдущем посте.
|
|
|
Записан
|
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
Offline
Сообщений: 234
|
|
« Ответ #3 : 23 Октября 2019, 10:45:39 » |
|
Проверил несколько раз, после выбора логина с выпадающего списка нажимаю "Ok" установилось значение, но после нажатия Ctrl+F5 поля снова пустые.
|
|
|
Записан
|
|
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
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
|
|
« Ответ #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
Сообщений: 234
|
|
« Ответ #7 : 24 Октября 2019, 09:45:28 » |
|
Нет, не менял и не изменял. N+ rev.588
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #8 : 24 Октября 2019, 12:06:08 » |
|
Обнови биллинг, исправил чтоб работало в фаерфоксе
|
|
|
Записан
|
|
|
|
Jovani
NoDeny
Постоялец
Карма: -9
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
|
|
« Ответ #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
Сообщений: 234
|
|
« Ответ #11 : 24 Октября 2019, 17:10:39 » |
|
Вот это после того как установил логин для первого IP.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #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
Сообщений: 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
|
|
« Ответ #14 : 24 Октября 2019, 21:40:29 » |
|
call radcheck('vano=2B0') смотрим в документацию к модулю и видим: Также необходимо настроить радиус так, чтобы он не экранировал знак плюса в логине, в sql.conf добавьте:
safe-characters = "@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.+-_: /"
|
|
|
Записан
|
|
|
|
|