частые critical errors
-
- Сообщения: 68
- Зарегистрирован: Сб май 13, 2006 10:11
частые critical errors
Версия UTM 5.2.1-003
При добавлении ip адресов клиентам приходит сообщение
From: <billing@unisnet.ru>
To: <support@unisnet.ru>
Sent: Saturday, May 05, 2007 3:55 PM
Subject: mail from utm5_core, critical errors
> DBA_IPgroups: IP <26.7.1.10> linked in the database but not exist in
> IPTree (1 intersections in ip_groups table)
> DBA_IPgroups: IP <26.7.1.10> linked in the database but not exist in
> IPTree (1 intersections in ip_groups table)
>
кто с таким разбирался?
При добавлении ip адресов клиентам приходит сообщение
From: <billing@unisnet.ru>
To: <support@unisnet.ru>
Sent: Saturday, May 05, 2007 3:55 PM
Subject: mail from utm5_core, critical errors
> DBA_IPgroups: IP <26.7.1.10> linked in the database but not exist in
> IPTree (1 intersections in ip_groups table)
> DBA_IPgroups: IP <26.7.1.10> linked in the database but not exist in
> IPTree (1 intersections in ip_groups table)
>
кто с таким разбирался?
У меня таже проблема, тема создана давно, может уже разобрался с этим? Поделись опытом.
У меня, похоже, это начало возникать после того, как в начале очередного расчетного периода услуга передачи IP трафика, для клиентов которые были запланированы на перевод тарифа, не перешла в новый тариф, хотя тарифы совместимы и родительские фиктивные услуги идентичны (стр.90 руководства). При этом привязанные к клиентам IP адреса, в услуге передачи IP трафика, "послетали", удалились. Тоесть услуги оказались несовместимыми.
Ошибки:
DBA_IPgroups: IP <192.168.100.39> linked in the database but not exist in IPTree (1 intersections in ip_groups table)
У меня, похоже, это начало возникать после того, как в начале очередного расчетного периода услуга передачи IP трафика, для клиентов которые были запланированы на перевод тарифа, не перешла в новый тариф, хотя тарифы совместимы и родительские фиктивные услуги идентичны (стр.90 руководства). При этом привязанные к клиентам IP адреса, в услуге передачи IP трафика, "послетали", удалились. Тоесть услуги оказались несовместимыми.
Ошибки:
DBA_IPgroups: IP <192.168.100.39> linked in the database but not exist in IPTree (1 intersections in ip_groups table)
Более или менее разобрался с этим вопросом.
Дело в том, что в базе данных UTM5 (на mysql в моем случае), есть таблица 'ip_groups'. В ней находятся значения не удаленных, активных, IP адресов, которые можно посмотреть в интерфейсе администратора: "Пользователи и группы" -> "IP-группы".
Так вот адреса который проходит в ошибке в интерфейсе администратора нет, для Вас Denis Samsonov это <26.7.1.10>, однако в таблице ip_groups он помечен как активный и не удаленный.
Решение:
Необходимо выполнить запрос который меняет значение 'is_deleted' с нуля на единицу:
UPDATE ip_groups set is_deleted=1 where is_deleted=0 and ip='-1062706091';
Здесь ip='-1062706091' необычная запись, чтобы это число преобразовать в IP адрес в привычном представлении надо выполнить следующие действия:
1. ffff ffff из 16-тиричной системы счисления преобразовать в десятичную;
2. к получившемуся прибавить значение ip, с учетом знака (то есть вычесть модуль ip, в данном случае запроса);
3. прибавить к полученному единицу;
4. перевести результат в 16-тиричную систему счисления;
5. получившееся число из 8-ми 16-тиричных цифр разбить на октеты (по две цифры);
6. каждый октет в отдельности преобразовать в десятичную систему счисления;
7. получили IP адрес в обычном, привычном виде.
Теперь, чтобы сделать нужный запрос нужно выполнить указанную последовательность действий в обратном порядке или с помощью sql запросов можно "вычислить" нужный, проблемный ip.
Всего не расскажешь, надо разбираться с таблицей ip_groups и с запросами mysql.
Во всяком случае когда я сделал указанные выше запросы для ошибочных IP адресов, то ошибка прошла.
Дело в том, что в базе данных UTM5 (на mysql в моем случае), есть таблица 'ip_groups'. В ней находятся значения не удаленных, активных, IP адресов, которые можно посмотреть в интерфейсе администратора: "Пользователи и группы" -> "IP-группы".
Так вот адреса который проходит в ошибке в интерфейсе администратора нет, для Вас Denis Samsonov это <26.7.1.10>, однако в таблице ip_groups он помечен как активный и не удаленный.
Решение:
Необходимо выполнить запрос который меняет значение 'is_deleted' с нуля на единицу:
UPDATE ip_groups set is_deleted=1 where is_deleted=0 and ip='-1062706091';
Здесь ip='-1062706091' необычная запись, чтобы это число преобразовать в IP адрес в привычном представлении надо выполнить следующие действия:
1. ffff ffff из 16-тиричной системы счисления преобразовать в десятичную;
2. к получившемуся прибавить значение ip, с учетом знака (то есть вычесть модуль ip, в данном случае запроса);
3. прибавить к полученному единицу;
4. перевести результат в 16-тиричную систему счисления;
5. получившееся число из 8-ми 16-тиричных цифр разбить на октеты (по две цифры);
6. каждый октет в отдельности преобразовать в десятичную систему счисления;
7. получили IP адрес в обычном, привычном виде.
Теперь, чтобы сделать нужный запрос нужно выполнить указанную последовательность действий в обратном порядке или с помощью sql запросов можно "вычислить" нужный, проблемный ip.
Всего не расскажешь, надо разбираться с таблицей ip_groups и с запросами mysql.
Во всяком случае когда я сделал указанные выше запросы для ошибочных IP адресов, то ошибка прошла.
Да, я mysql не очень хорошо знаю, в частности не знаю функции:
INET_NTOA
INET_NTOA
INET_ATON('192.168.10.10')
поэтому компенсирую недостаток знания сложными интуитивными выкладками.
И поскольку, gil поставил много многоточий, я достоверно до конца не понял действия этих функций. Расшифруй пожалуйста многоточия для полноты информации.
INET_NTOA
INET_NTOA
INET_ATON('192.168.10.10')
поэтому компенсирую недостаток знания сложными интуитивными выкладками.
И поскольку, gil поставил много многоточий, я достоверно до конца не понял действия этих функций. Расшифруй пожалуйста многоточия для полноты информации.
многоточия - это то, что от меня не зависит.. я показал пример работы с их форматом ip..Аким писал(а):Да, я mysql не очень хорошо знаю, в частности не знаю функции:
INET_NTOA
INET_NTOA
INET_ATON('192.168.10.10')
поэтому компенсирую недостаток знания сложными интуитивными выкладками.
И поскольку, gil поставил много многоточий, я достоверно до конца не понял действия этих функций. Расшифруй пожалуйста многоточия для полноты информации.
если требуется абоненту с IP-адресом 192.168.100.39 поставить is_deleted=1 - то сделать можно таким запросом, более человечным:
UPDATE `UTM5`.`ip_groups` SET `is_deleted` = 1 WHERE `is_deleted` = 0 AND `ip` = (INET_ATON('192.168.100.39') - 0xFFFFFFFF - 1);
функция INET_ATON преобразовывает IP-адрес в численное значение, т.к. число лучше, нежели 15 символов..
функция INET_NTOA делает обратное преобразование..
0xFFFFFFFF - это уже ввели в NetUP, это их база, как хотят, так и делают.. зерно рациональности в этом подходе есть =)
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
JAO, давай, без холиваров, а?
Для хранения адресов оба движка используют один и тот же принцип, что четыре октета можно преобразовать в uint32. Только вот в постгрессе это чуть-ли даже не спец тип данных, где можно вбить адрес и маску сразу.А в мускуле нет спец типа, зато есть Int. Судя по всему столкнулись с тем, что кто-то кому-то неверный тип данных отдает(или хранит) и соотв числа больше 127.255.255.255 вертали неверный адрес. вот и пришлось от знака избавляться таким хитрожопым образом.
Для хранения адресов оба движка используют один и тот же принцип, что четыре октета можно преобразовать в uint32. Только вот в постгрессе это чуть-ли даже не спец тип данных, где можно вбить адрес и маску сразу.А в мускуле нет спец типа, зато есть Int. Судя по всему столкнулись с тем, что кто-то кому-то неверный тип данных отдает(или хранит) и соотв числа больше 127.255.255.255 вертали неверный адрес. вот и пришлось от знака избавляться таким хитрожопым образом.
Подскажите пожалуйста как избавиться от сообщения:
Этот запрос в базе не помогает...DBA_IPgroups: IP <82.194.226.27> linked in the database but not exist in IPTree (87 intersections in ip_groups table)
Куда копать?UPDATE `UTM5`.`ip_groups` SET `is_deleted` = 1 WHERE `is_deleted` = 0 AND `ip` = (INET_ATON('82.194.226.27') - 0xFFFFFFFF - 1);
-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23