forum.bitel.ru http://forum.bitel.ru/ |
|
Новая конфигурация MikroTik http://forum.bitel.ru/viewtopic.php?f=44&t=13505 |
Страница 1 из 1 |
Автор: | pafflootiy [ 26 ноя 2019, 17:51 ] |
Заголовок сообщения: | Новая конфигурация MikroTik |
Есть конфигурация типа устройства старого образца (который предполагается прекратить поддерживать): Код: sa.command.serv.create.1=/ip/firewall/filter/print\n?=comment=!!BLOCK!! Привёл к новому образцу, поменяв активатор на ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator:sa.command.serv.create.2=/ip/firewall/filter/add\n=chain=forward\n=place-before=$prevIdList\n=src-mac-address=$mac\n=disabled=no\n=src-address=$ip\n=comment=!!$servId!! sa.command.serv.create.3=/ip/firewall/address-list/add\n=list=ALLOW\n=address=$ip\n=comment=!!$servId!! #1 sa.command.inetOption.10.enable=/queue/simple/add\n=name=$contractTitle\n=max-limit=1M/1M\n=target=$ip\n=comment=!!$servId!! ...море опций... #50 sa.command.inetOption.26.enable=/queue/simple/add\n=name=$contractTitle\n=max-limit=50M/50M\n=target=$ip\n=comment=!!$servId!! #правила фаервола sa.command.serv.enable=/ip/firewall/filter/enable\n=numbers=!!$servId!!;/ip/firewall/address-list/enable\n=numbers=!!$servId!! sa.command.serv.disable=/ip/firewall/filter/disable\n=numbers=!!$servId!!;/ip/firewall/address-list/disable\n=numbers=!!$servId!! sa.command.serv.cancel=/ip/firewall/filter/remove\n=numbers=!!$servId!!;/queue/simple/remove\n=numbers=!!$servId!!;/ip/firewall/address-list/remove\n=numbers=!!$servId!! Код: # Порт подключения (если не указан, то используется порт из поля Хост/порт) При синхронизации сервисов, биллинг логинится к железке, но ни каких правил не создает. В логе аксесса следующее:sa.terminal.port=8728 # протокол подключения (telnet/ssh/tcp/mikrotik-api/mikrotik-api-ssl/shell) sa.terminal.protocol=mikrotik-api # Команда выхода (отключения) sa.terminal.exit= sa.terminal.serv.create.1=/ip/firewall/filter/print where comment=!!BLOCK!! sa.terminal.serv.create.2=/ip/firewall/filter/add chain=forward place-before=${mikrotikLastIds()} src-mac-address=${mac()} disabled=no src-address=${ip()} comment=${servId()} sa.terminal.serv.create.3=/ip/firewall/address-list/add list=ALLOW address=${ip()} comment=${servId()} #1 sa.terminal.serv.inetOption.10.enable=/queue/simple/add name=${contractTitle()} max-limit=1M/1M target=${ip()} comment=${servId()} ...то же самое море опций... #50 sa.terminal.serv.inetOption.26.enable=/queue/simple/add name=${contractTitle()} max-limit=50M/50M target=${ip()} comment=${servId()} #правила фаервола sa.terminal.serv.modify.enable=/ip/firewall/filter/enable numbers=${servId()};/ip/firewall/address-list/enable numbers=${servId()} sa.terminal.serv.modify.disable=/ip/firewall/filter/disable numbers=${servId()};/ip/firewall/address-list/disable numbers=${servId()} sa.terminal.serv.cancel=/ip/firewall/filter/remove numbers=${servId()};/queue/simple/remove numbers=${servId()};/ip/firewall/address-list/remove numbers=${servId()} Код: connection 11-26/14:36:32 ERROR [sa-p-13-t-64] EventWorker - Error on device:99 - me.legrange.mikrotik.MikrotikApiException: no such item Инфо:ru.bitel.bgbilling.common.BGException: Error on device:99 - me.legrange.mikrotik.MikrotikApiException: no such item at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:516) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:248) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:220) at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:120) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:253) at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:154) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:157) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:87) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) Caused by: me.legrange.mikrotik.MikrotikApiException: no such item at me.legrange.mikrotik.impl.ApiConnectionImpl$SyncListener.getResults(ApiConnectionImpl.java:476) at me.legrange.mikrotik.impl.ApiConnectionImpl$SyncListener.access$100(ApiConnectionImpl.java:430) at me.legrange.mikrotik.impl.ApiConnectionImpl.execute(ApiConnectionImpl.java:114) at me.legrange.mikrotik.impl.ApiConnectionImpl.execute(ApiConnectionImpl.java:72) at ru.bitel.bgbilling.kernel.network.mikrotik.MikrotikApiSession.doCommand(MikrotikApiSession.java:92) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalSession$MikrotikApiTerminalSession.sendCommandImpl(TerminalSession.java:678) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalSession.sendCommand(TerminalSession.java:140) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalSession.sendCommand(TerminalSession.java:133) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.executeCommand(TerminalServiceActivator.java:762) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.executeCommands(TerminalServiceActivator.java:728) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.executeCommands(TerminalServiceActivator.java:689) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.invoke(TerminalServiceActivator.java:1474) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.invoke(TerminalServiceActivator.java:1402) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator$TGroovyMacro.invoke(TerminalServiceActivator.java:243) at ru.bitel.common.groovy.GroovyMacro$MacroMetaClassDelegate.invokeMethod(GroovyMacro.java:241) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:158) at Script1$_run_closure1.doCall(Script1.groovy:1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) at ru.bitel.common.groovy.MetaClassDelegate.invokeMethod(MetaClassDelegate.java:107) at ru.bitel.common.groovy.GroovyMacro$MacroMetaClassDelegate.invokeMethod(GroovyMacro.java:236) at groovy.lang.Closure.call(Closure.java:414) at ru.bitel.common.groovy.GroovyMacro.eval(GroovyMacro.java:201) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.executeCommands(TerminalServiceActivator.java:713) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.executeCommands(TerminalServiceActivator.java:688) at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TerminalServiceActivator.serviceCancel(TerminalServiceActivator.java:2225) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceCancel(ServiceActivatorSet.java:359) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:569) at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:512) ... 15 more Caused by: me.legrange.mikrotik.impl.ApiCommandException: no such item at me.legrange.mikrotik.impl.ApiConnectionImpl$Processor.run(ApiConnectionImpl.java:267) Код: Информация о версии: Сервер: вер. 7.1.1154 / 01.11.2019 21:34:27 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_101 inet: вер. 7.1.742 / 01.11.2019 07:53:48 Код: MikroTik RouterOS 6.45.7
|
Автор: | pafflootiy [ 26 ноя 2019, 20:43 ] |
Заголовок сообщения: | Re: Новая конфигурация MikroTik |
Спасибо добрым людям в телеграм канале. Подправил конфиг. Теперь всё работает. Код: # Порт подключения (если не указан, то используется порт из поля Хост/порт)
sa.terminal.port=8728 # протокол подключения (telnet/ssh/tcp/mikrotik-api/mikrotik-api-ssl/shell) sa.terminal.protocol=mikrotik-api # Команда выхода (отключения) sa.terminal.exit= # sa.terminal.serv.create.1=/ip/firewall/filter/print where comment=BLOCK sa.terminal.serv.create.2=/ip/firewall/filter/add chain=forward place-before=${mikrotikLastIds()} src-mac-address=${mac()} disabled=no src-address=${ip()} comment=${servId()} sa.terminal.serv.create.3=/ip/firewall/address-list/add address=${ip()} list=ALLOW comment=${servId()} #Создание очередей для опций #1 sa.terminal.serv.inetOption.10.enable=/queue/simple/add name=${contractTitle()} max-limit=1M/1M target=${ip()} comment=${servId()} ...тьма опций... #50 sa.terminal.serv.inetOption.26.enable=/queue/simple/add name=${contractTitle()} max-limit=50M/50M target=${ip()} comment=${servId()} #Включение договора #Включение правила фаервола sa.terminal.serv.modify.enable.1=/ip/firewall/filter/print where comment=${servId()} sa.terminal.serv.modify.enable.2=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/filter/enable numbers=${mikrotikLastIds()} #Включение адрес-листа sa.terminal.serv.modify.enable.3=/ip/firewall/address-list/print where comment=${servId()} sa.terminal.serv.modify.enable.4=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/address-list/enable numbers=${mikrotikLastIds()} #Выключение договора #Выключение правила фаервола sa.terminal.serv.modify.disable.1=/ip/firewall/filter/print where comment=${servId()} sa.terminal.serv.modify.disable.2=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/filter/disable numbers=${mikrotikLastIds()} #Выключение адрес-листа sa.terminal.serv.modify.disable.3=/ip/firewall/address-list/print where comment=${servId()} sa.terminal.serv.modify.disable.4=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/address-list/disable numbers=${mikrotikLastIds()} #Удаление договора #Удаление правила фаервола sa.terminal.serv.cancel.1=/ip/firewall/filter/print where comment=${servId()} sa.terminal.serv.cancel.2=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/filter/remove numbers=${mikrotikLastIds()} #Удаление очереди sa.terminal.serv.cancel.3=/queue/simple/print where comment=${servId()} sa.terminal.serv.cancel.4=${skipIfEmpty(mikrotikLastIds())}/queue/simple/remove numbers=${mikrotikLastIds()} #Удаление адрес-листа sa.terminal.serv.cancel.5=/ip/firewall/address-list/print where comment=${servId()} sa.terminal.serv.cancel.6=${skipIfEmpty(mikrotikLastIds())}/ip/firewall/address-list/remove numbers=${mikrotikLastIds()} |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |