dycost
МаглыО dycost
- День народження 20.02.84
Информация
-
Пол
Мужчина
dycost's Achievements
Пролетал Мимо (1/9)
0
Репутація
-
нуу... как-то мимо он меня прошел
-
хм... да, наверное.. ща полез смотреть доки, и действительно, есть возможность опроса свитчей.. давно не читал о нововведения, опробую ка настроение будет) я сначала подумал о модуле Новые маки,
-
первое комманду, для получения мака, типо такой конструкции: "/usr/local/bin/snmpwalk -c " + name + " -v 2c -Cc " + IP + " " + oid_port + " | grep 'INTEGER: " + PORT +"$'" там фишка, что для разных коммутаторов разные OID'ы последняя парсит данные, что выдал snmpwalk как-то так: list_addr = map(lambda elem: '{0:0>2x}'.format(int(elem)), data.split(".")[-6:]) res = ":".join(list_addr) я просто старый скрипт разбил на 2. понимаю, что надо бы на php переписать, но лень, да и не знаю я php на столько.
-
не, не помогло( где-то ограничивается глубина рекурсии в вызове процессов из процессов. пришлось переписать так чтобы snmpwalk из php вызывался. $command = shell_exec('/usr/local/www/apache22/data/billing/modules/general/get_mac/get_command.py ' . $_POST['switch_address'] . ' ' . $_POST['switch_port']); $data = shell_exec($command); $mac = shell_exec('/usr/local/www/apache22/data/billing/modules/general/get_mac/parse_mac.py ' . $data); Но гложет любопытство, что же это было? гугл молчалив и таинственен..
-
В логах апача пусто. Ошибки вообще нет. Просто объект класса popen создается пустой. Про апдейт биллинга я подумал, ибо больше не происходило ничего. PHP, Apache,python не обновлялись и конфиги не правились. Штатный, насколько я помню, требует dhcp на этой же машине, а этим занимается совсем другая железка.
-
dycost підписався на Получение mac с порта коммутатора
-
Такая проблема. Был написан модуль для получения mac абонента с порта коммутатора. Модуль перестал работать после обновления биллинга. Обновлялся точно не скажу с какого релиза, ориентировочно 0.8.9 или 0.9.0. Суть вот в чем. Модуль использует скрипт на питоне вызываемый через popen, в принципе весь код вот: if (cfr('GET_MAC')) { $inputs = wf_TextInput('switch_address', __('Enter switch address'), '', true, '10'); $inputs.= wf_TextInput('switch_port', __('Enter switch port'), '', true, '10'); $inputs.= wf_Submit(__('Get')); $form = wf_Form("", 'POST', $inputs, 'glamour'); show_window(__('Get mac address from switch port'), $form); if (isset ($_POST['switch_address'])) { $process = popen(escapeshellcmd('/usr/local/www/apache22/data/billing/modules/general/get_mac/get_mac.py ' . $_POST['switch_address'] . ' ' . $_POST['switch_port']), "r"); $mac = fread($process, 2096); show_window(__('Active mac address: '), $mac); pclose($process); }; } else { show_error(__('Access denied')); } Питон потому, что парсинг на php я не осилил.. из питона вызывается snmpwalk через popen (да, такая вот матрешка), собственно для получения mac. До обновления все работало, и сейчас если выполнить из консоли что-то типа такого: <?php $process = popen(escapeshellcmd('/usr/local/www/apache22/data/billing/modules/general/get_mac/get_mac.py 172.16.0.182 2', "r"); $mac = fread($process, 2096); echo "$mac"; ?> то все работает. При выполнении из биллинга питон не создает процесс-потомок snmpwalk. Какие настройки php или биллинга копать?
-
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
Не, рано я радовался, на версии RouterOS v6.22 и RouterOS v6.27 все работает, на RouterOS v5.26 нет. Проверил, на версии 5.26 остался синтаксис address-list (без s на конце)/ Убрал вообще строку address-lists = NULL из /etc/stargazer/system/executer/tpls/dhcp.ini вроде все работает. По идее, правильным было бы разбить настройки dhcp для разных версий ОС, как это сделано для очередей. -
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
Заработало, благодарю. -
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
Вот часть лога, где dhcp параметры обновляются: 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [21] /ip/dhcp-server/print 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [15] =.proplist=name 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [18] ?interface=bridge1 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [3/3] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [3, 22]!re 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [13/13] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [13, 8]=name=server1 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5/5] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5, 1]!done 2015-03-25 15:59:58 - [Database] - Debug: Query -> SELECT `mac` FROM nethosts WHERE `ip` = '172.1.102.34' 2015-03-25 15:59:58 - [Database] - Debug: Data -> `mac` is e8:94:f6:d7:b7:67 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [27] /ip/dhcp-server/lease/print 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [14] =.proplist=.id 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [17] ?comment=PopovaUA 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [3/3] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [3, 16]!re 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [7/7] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [7, 8]=.id=*A 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5/5] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5, 1]!done 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [25] /ip/dhcp-server/lease/set 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [21] =address=172.1.102.34 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [30] =mac-address=e8:94:f6:d7:b7:67 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [11] =client-id= 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [15] =server=server1 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [12] =rate-limit= 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [14] =address-list= 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [20] =lease-time=00:00:00 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [15] =use-src-mac=no 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [16] =block-access=no 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [20] =always-broadcast=no 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [12] =disabled=no 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [17] =comment=PopovaUA 2015-03-25 15:59:58 - [Executer] - MikroTik: <<< [7] =.id=*A 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5/5] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5, 35]!trap 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [26/26] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [26, 8]=message=unknown parameter 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5/5] bytes read. 2015-03-25 15:59:58 - [Executer] - MikroTik: >>> [5, 1]!done 2015-03-25 15:59:58 - [Executer] - Error: DHCP entry can't be updated, unknown parameter -
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
На примере одного из микротиков: Интерфейс dhcp в микротике -- bridge1 Интерфейс пользователя в биллинге -- bridge1 -
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
Насчет изменений в микротике я что-то в сомнении. До версии 6.22 в январе обновление было, до середины февраля точно все работало нормально. Проблема была замечена при вводе в строй нового микротика, arp, очереди и списки доступа на него загрузились, записи dhcp нет. На тот момент версия биллинга была 0.6.3. Тестирование на других микротиках выявило аналогичную проблему, обновление биллинга до 0.6.4 не помогло. Может поможет дополнительная информация. Изначально при смене IP абонента вылетала ошибка в файле api/libs/api.networking.php строка 666. Изучение вышеуказанного файла подсказало, что требуется формат Сеть/CIDR со слешем (ранее просто строковое значение было, для удобства привязки названия к услуге, ошибок не возникало, все работало). Смена на вышеуказанный формат привело к исчезновению ошибки, но обновление dhcp так и не заработало. -
Ошибка обновления записей dhcp на mikrotik
тема ответил в dycost пользователя dycost в Stargazer Ubilling
RouterOS v6.22 и RouterOS v5.26 -
Здравствуйте. С некоторых пор перестали обновляться записи dhcp на серверах доступа mikrotik. В логах stargazer при событии OnConnect обнаруживается такая ошибка: Error: DHCP entry can't be updated, unknown parameter Дебаг-режим включен, ничего более подробного в логах нет. ОС: FreeBSD 9.2-RELEASE-p15 Версия ubilling: 0.6.4
