Просмотр сообщений
|
Страниц: [1] 2 3 ... 13
|
4
|
Главная категория / Nodeny Plus / Не создается тариф
|
: 01 Марта 2022, 16:31:51
|
Добрый день, помогите разобраться с проблемой: не могу создать тариф "Создание услуги не выполнено", в дебаге: Field 'category' doesn't have a default value
{ 'param' => [ 'inet_unlim', 'test511', '', '0', 0, 0, ',4,5,1,3,', '$VAR1 = {\'speed_out4\' => \'\',\'min_traf\' => \'\',\'speed_in1\' => 1000000,\'speed_out2\' => \'\',\'speed_in2\' => \'\',\'speed_in3\' => \'\',\'speed_out3\' => \'\',\'tags\' => \'\',\'period\' => 2592000,\'finish_count\' => \'1\',\'script\' => \'\',\'mode\' => \'\',\'speed_in4\' => \'\',\'wait_pos_balance\' => \'0\',\'speed_out1\' => 1000000};' ], 'sql' => 'INSERT INTO services SET module=?, title=?, description=?, price=?, auto_renew=?, no_renew=?, grp_list=?, param=?' }; INSERT INTO services SET module='inet_unlim', title='test511', description='', price='0', auto_renew='0', no_renew='0', grp_list=',4,5,1,3,', param='$VAR1 = {\'speed_out4\' => \'\',\'min_traf\' => \'\',\'speed_in1\' => 1000000,\'speed_out2\' => \'\',\'speed_in2\' => \'\',\'speed_in3\' => \'\',\'speed_out3\' => \'\',\'tags\' => \'\',\'period\' => 2592000,\'finish_count\' => \'1\',\'script\' => \'\',\'mode\' => \'\',\'speed_in4\' => \'\',\'wait_pos_balance\' => \'0\',\'speed_out1\' => 1000000};' root@localhost [nodeny]> DESCRIBE services; +-------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+----------------+ | service_id | int(10) unsigned | NO | PRI | NULL | auto_increment | | module | varchar(64) | NO | | NULL | | | category | varchar(64) | NO | | NULL | | | title | varchar(64) | NO | | NULL | | | description | varchar(512) | NO | | NULL | | | grp_list | longtext | NO | | NULL | | | conditions | varchar(512) | NO | | | | | price | float | NO | | 0 | | | auto_renew | tinyint(3) unsigned | NO | | 0 | | | no_renew | tinyint(3) unsigned | NO | | 0 | | | param | longtext | NO | | NULL | | +- ------------+---------------------+------+-----+---------+----------------+
|
|
|
5
|
Главная категория / Модули NodenyPlus / Re: Приостановление услуг (stop_service)
|
: 15 Декабря 2021, 11:34:02
|
Решил по свежему написать сюда.Вот только что 5 минут назад звонок . Позвонил клиент и говорит: приостановите меня с 3-го августа по 1-е сентября. Ок, нет проблем. Понимаю что мне нужно записать в блокнотик просьбу клиента и завтра ему включить приостановку. Потому что приостановки наперед просто нет в биллинге. Вот и веду блокнотик себе а возможно ли добавить функционал, чтобы заранее можно было заказать приостановление? чтобы вместо простыни на 365 дней был выбор "с" и "по" +1
|
|
|
7
|
Главная категория / Nodeny Plus / Скрипты для телефонии
|
: 28 Октября 2021, 18:29:51
|
Доброго времени суток, нужны скрипты php для телефонии, с передачей номера телефона абонента, которые позволят: - вывести баланс абонента; - вывести платежный код абонента; - взять кредит - заморозить учетную запись
Готов оплатить труд.
|
|
|
9
|
Главная категория / Модули NodenyPlus / Re: Микротик
|
: 27 Июня 2021, 12:51:14
|
Ну вот она ошибка, я нашел ее call radreply('%{User-Name}','%{Calling-Station-Id}')
Здесь '%{Calling-Station-Id}' а чтобы имя дхцп сервера вставило нужно '%{Called-Station-Id}'выглядит похоже, опечатка-с.... sql.conf исправляйте, заменяйте и наверное будет все хорошо, но это не точно ) У меня вообще не было этого файла в каталоге /usr/local/etc/raddb/ Нашел его в /usr/local/nodeny/etc/raddb/ и скопировал в /usr/local/etc/raddb/ Теперь его сожержимое такое... # -*- text -*- ## ## sql.conf -- SQL modules ## ## $Id$
sql { database = "mysql" driver = "rlm_sql_mysql" server = "localhost" port = 3306 login = "nodeny" password = "hardpass" radius_db = "nodeny"
deletestalesessions = yes sqltrace = no sqltracefile = ${logdir}/sqltrace.sql num_sql_socks = 5 connect_failure_retry_delay = 60 lifetime = 0 max_queries = 0 authorize_check_query = "call radcheck('%{User-Name}')" authorize_reply_query = "call radreply('%{User-Name}', '%{Called-Station-Id}')" postauth_query = "call radupdate('%{User-Name}','%{reply:Framed-IP-Address}','nas=%{NAS-IP-Address}', '%{Called-Station-Id}')" accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}','nas=%{NAS-IP-Address}', '%{Called-Station-Id}')" }
В файле radiusd.conf добавил $INCLUDE sql.conf и бутнул радиус, ошибка никуда не ушла, также не передается тег. В режиме отладки старая картина.... Куда еще копать?
|
|
|
10
|
Главная категория / Модули NodenyPlus / Re: Микротик
|
: 26 Июня 2021, 10:42:48
|
Прошу помощи в настройке связки freeradius3 + микротик. Проблема в том что клиент не получает айпи из динамического пула. Если изменить один айпи из этого пула на статический, клиент получает, интернет работает все ок. radiusd -X отображает Ready to process requests (7) Received Access-Request Id 43 from 10.55.97.2:45083 to 10.55.97.1:1812 length 113 (7) User-Name = "3C:97:0E:AD:F2:5C" (7) NAS-Port-Type = Ethernet (7) NAS-Port = 2209350395 (7) Service-Type = Framed-User (7) Calling-Station-Id = "1:3c:97:e:ad:f2:5c" (7) Called-Station-Id = "v109" (7) User-Password = "" (7) NAS-Identifier = "SAT1" (7) NAS-IP-Address = 10.55.97.2 (7) # Executing section authorize from file /usr/local/etc/raddb/sites-enabled/nodeny (7) authorize { rlm_sql (sql): Reserved connection (5) (7) sql: EXPAND call radcheck('%{User-Name}') (7) sql: --> call radcheck('3C:97:0E:AD:F2:5C') (7) sql: Executing select query: call radcheck('3C:97:0E:AD:F2:5C') (7) sql: User found in radcheck table (7) sql: Conditional check items matched, merging assignment check items (7) sql: Cleartext-Password := "" (7) sql: EXPAND call radreply('%{User-Name}','%{Calling-Station-Id}') (7) sql: --> call radreply('3C:97:0E:AD:F2:5C','1:3c:97:e:ad:f2:5c') (7) sql: Executing select query: call radreply('3C:97:0E:AD:F2:5C','1:3c:97:e:ad:f2:5c') [b](7) sql: ERROR: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip_by_tag ended without RETURN): 2F005 (7) sql: ERROR: SQL query error getting reply attributes[/b] rlm_sql (sql): Released connection (5) (7) [sql] = fail (7) } # authorize = fail (7) Invalid user (sql: rlm_sql_mysql: ERROR 1321 (FUNCTION get_ip_by_tag ended without RETURN): 2F005): [3C:97:0E:AD:F2:5C] (from client sat1 port 2209350395 cli 1:3c:97:e:ad:f2:5c) (7) Using Post-Auth-Type Reject (7) Post-Auth-Type sub-section not found. Ignoring. (7) # Executing group from file /usr/local/etc/raddb/sites-enabled/nodeny (7) Delaying response for 1.000000 seconds Waking up in 0.3 seconds. Waking up in 0.6 seconds. (7) Sending delayed response (7) Sent Access-Reject Id 43 from 10.55.97.1:1812 to 10.55.97.2:45083 length 20 Waking up in 3.9 seconds. Код функции get_ip_by_tag mysql> SHOW CREATE FUNCTION get_ip_by_tag; +---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ | Function | sql_mode | Create Function | character_set_client | collation_connection | Database Collation | +---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ | get_ip_by_tag | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`localhost` FUNCTION `get_ip_by_tag`( user_id INTEGER UNSIGNED, tag VARCHAR(64) ) RETURNS varchar(15) CHARSET utf8 NO SQL BEGIN DECLARE user_ip VARCHAR(15); DECLARE real_ip VARCHAR(15) DEFAULT 0; DECLARE row_cnt INTEGER; DECLARE ip_id INTEGER; DECLARE tries INTEGER DEFAULT 30; DECLARE id_min INTEGER; DECLARE id_max INTEGER;
SELECT INET_NTOA(ip) INTO user_ip FROM ip_pool WHERE uid = user_id AND type='static' LIMIT 1; IF( user_ip IS NOT NULL ) THEN RETURN user_ip; END IF;
SELECT 1 INTO real_ip FROM users_services WHERE uid = user_id AND tags LIKE '%,realip,%';
SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool WHERE uid = user_id AND type = 'dynamic' AND realip = IF(real_ip>0,1,0) AND tags LIKE CONCAT('%,', tag, ',%') LIMIT 1;
IF( ip_id IS NOT NULL) THEN UPDATE ip_pool SET `release` = UNIX_TIMESTAMP() + 3600 WHERE id = ip_id AND uid = user_id; SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt > 0 ) THEN RETURN user_ip; END IF; END IF;
SELECT MAX(id), MIN(id) INTO id_max, id_min FROM ip_pool WHERE type = 'dynamic' AND realip = IF(real_ip>0,1,0) AND tags LIKE CONCAT('%,', tag, ',%');
sel_ip: WHILE tries > 0 DO SELECT id, INET_NTOA(ip) INTO ip_id, user_ip FROM ip_pool WHERE uid = 0 AND id >= (CEIL(RAND() * (id_max - id_min)) + id_min) AND id <= id_max LIMIT 1; IF( user_ip IS NOT NULL) THEN UPDATE ip_pool SET uid = user_id, `release` = UNIX_TIMESTAMP() + 3600 WHERE id = ip_id AND uid = 0; SELECT ROW_COUNT() INTO row_cnt; IF( row_cnt > 0 ) THEN RETURN user_ip; END IF; SET tries = tries - 5; END IF; SET tries = tries - 1; END WHILE;
END | latin1 | latin1_swedish_ci | utf8_general_ci | +---------------+--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+--------------------+ 1 row in set (0.00 sec)
|
|
|
11
|
Главная категория / Модули NodenyPlus / Re: Модуль мониторинга PON
|
: 10 Февраля 2021, 00:22:36
|
Исходя из вышесказанного так понимаю на модуле можно ставить крест? следующее на разработке: возможность добавлять своими патчами (потому что у всех запросы разные) скрипты для работ с олт через телнет Жаль что не будет реализован данный функционал.
|
|
|
13
|
Главная категория / Общий раздел / Re: Загрузка процессора
|
: 17 Января 2021, 10:14:15
|
top -SHP и tcpdump на порт 53 и 123 пробовал, в момент проблемы ничего подозрительного на этих портах. Проблема случается циклично примерно в одно и тоже время, что еще можно посмотреть?
|
|
|
15
|
Главная категория / Общий раздел / Re: Загрузка процессора
|
: 06 Января 2021, 08:56:10
|
там как раз и видно что сетевая (ixl) укладывает в 0 idle.
если циклично то, можно предположить атаку, для начала на аплинке tcpdump -n -i имя_аплинка port 53 и тоже самое для 123 (довольно частые атаки и легко отбиваются...)
+ тюнить систему , оптимизировать фаер... и так далее
В течение пары часов может уходить в такое состояние до 5 мин раз 10, потом нормализуется работа до следующего дня. В нормальном состоянии: tcpdump -n -i имя_аплинка port 53 и тоже самое для 123 (довольно частые атаки и легко отбиваются...) .... сыпятся постоянно данные, как понять флуд это или нет?
|
|
|
|