Jump to content

Ошибка обновления записей dhcp на mikrotik


Recommended Posts

Здравствуйте.

С некоторых пор перестали обновляться записи dhcp на серверах доступа mikrotik.

В логах stargazer при событии OnConnect обнаруживается такая ошибка:

Error: DHCP entry can't be updated, unknown parameter

Дебаг-режим включен, ничего более подробного в логах нет.

 

ОС: FreeBSD 9.2-RELEASE-p15

Версия ubilling: 0.6.4
 

Link to post
Share on other sites

Насчет изменений в микротике я что-то в сомнении.

До версии 6.22 в январе обновление было, до середины февраля точно все работало нормально.

Проблема была замечена при вводе в строй нового микротика, arp, очереди и списки доступа на него загрузились, записи dhcp нет. На тот момент версия биллинга была 0.6.3.

Тестирование на других микротиках выявило аналогичную проблему, обновление биллинга до 0.6.4 не помогло.

 

Может поможет дополнительная информация.

Изначально при смене IP абонента вылетала ошибка в файле api/libs/api.networking.php строка 666.

Изучение вышеуказанного файла подсказало, что требуется формат Сеть/CIDR со слешем (ранее просто строковое значение было, для удобства привязки названия к услуге, ошибок не возникало, все работало).

Смена на вышеуказанный формат привело к исчезновению ошибки, но обновление dhcp так и не заработало.

Link to post
Share on other sites

пробежимся по настройкам... в модуле расширенной настройки микротика что указано в "интерфейс пользователей". На каком интерфейсе поднят dhcp на микротике?

Link to post
Share on other sites

На примере одного из микротиков:

Интерфейс dhcp в микротике -- bridge1

Интерфейс пользователя в биллинге -- bridge1

Link to post
Share on other sites

Ок. открывайте файл /etc/stargazer/system/log/file.drv любым текстовым редактором. смотрите строку 23, там FALSE меняете на TRUE.. выполняйте ресет пользователя, смотрите лог, выкладывайте сюда

 

Link to post
Share on other sites

Вот часть лога, где 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

Link to post
Share on other sites
  • 3 weeks later...

Не, рано я радовался, на версии 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 для разных версий ОС, как это сделано для очередей.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...