forum.bitel.ru http://forum.bitel.ru/ |
|
Помогите с управлением свитчами DLink DES-3028 и DES-3200 http://forum.bitel.ru/viewtopic.php?f=7&t=4561 |
Страница 1 из 1 |
Автор: | crez [ 20 сен 2010, 15:49 ] |
Заголовок сообщения: | Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
Коллеги, у меня биллинг отказывается управлять данными свитчами. Пробовал со стандартными - управление через SNMP, настройки делал, как для 3526 - не работает. Попытался реализовать скриптовый шлюз (как в Wiki http://wiki.bgbilling.ru/index.php/Реалиазация_скриптовго_шлюза_для_коммутаторов_DES-3526,_DES-3550,_DES-3828,_DES-3852,_DGS-3200-10_и_им_подобных), биллинг напрочь отказывается коннектиться по телнету к свитчу: Сервер: вер. 5.1 сборка 491 от 14.09.2010 IPN: вер. 5.1 сборка 194 от 26.08.2010 Код: [root@bgb log]# uname -a Linux bgb.westtel.net 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux [root@bgb log]# java -version java version "1.6.0" OpenJDK Runtime Environment (build 1.6.0-b09) OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode) Тип шлюза для DES-3200 Код: user_rule.editor.class=bitel.billing.module.services.ipn.editor.DlinkContractRuleEditor gate_manager.class=bitel.billing.server.ipn.DlinkGateWorker use.script=1 Скрипт взят из Wiki: Код: import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; import bitel.billing.common.IPUtils; import bitel.billing.common.module.ipn.IPNContractStatus; import bitel.billing.server.ipn.UserStatus; import bitel.billing.server.ipn.bean.ManadUtils; import bitel.billing.server.ipn.bean.VlanManager; import bitel.billing.server.ipn.dlink.UserPortStatus; import bitel.billing.server.util.DefaultServerSetup; import bitel.billing.server.util.Utils; import bitel.billing.server.util.telnet.TelnetSession; protected void doSync() { try { String host = gate.getHost(); int port = gate.getPort(); DefaultServerSetup gateSetup = new DefaultServerSetup( gate.getConfig(), "\r\n" ); String pswd = gate.getKeyword(); String login = gateSetup.getStringValue( "login"); StringBuffer result = new StringBuffer(); if( log.isDebugEnabled() ) { log.debug( gate.getId() + " gate: " + host + ":" + port + " login: " + login + " pswd: " + pswd ); } TelnetSession session = new TelnetSession( host, port); session.setLoginPromptSequence( ":" ); log.debug( "before connect" ); session.connect(); log.debug( "after connect" ); result.append( session.doCommand( login ) ); log.debug( "after command" ); session.setLoginPromptSequence( "#" ); result.append( session.doCommand( pswd ) ); log.debug( "before pswd" ); log.debug( "execute commands" ); doCommands( session, result, gateSetup); //TODO commands here session.setLoginPromptSequence( "****" ); result.append( session.doCommand( "logout" ) ); log.info( result.toString() ); log.debug( "ok" ); } catch (Exception e) { throw new RuntimeException ( e ); } } private void doCommands( TelnetSession session, StringBuffer result, DefaultServerSetup gateSetup) throws IOException { String openAddress = gateSetup.getStringValue( "open.address", "255.255.255.255" ) ; log.debug( "openAddress = " + openAddress ); uplinks = Utils.stringToIntegerList( gateSetup.getStringValue( "uplink" ) ); List ports = getUserList( statusList ); String [] openRules = new String [] { //Профиль 20 Разрешаем клиенту видеть мир // разрешающие правила добавляются с номером порта клиента "config access_profile profile_id 20 add access_id ${port} ip source_ip ${ip} destination_ip 0.0.0.0 port ${port} permit"}; String [] closeRules = new String [] { // Профиль 8 разрешаем клиенту видеть Стат+ДНС сервер // разрешающие правила добавляются с номером порта клиента "config access_profile profile_id 8 add access_id ${port} ip source_ip ${ip} destination_ip ${openAdress} port ${port} permit", //Профиль 12 Разрешаем ИП запросы на аплинках на адрес клиента со статистики "config access_profile profile_id 12 add access_id ${mod}${port} ip source_ip ${openAdress} destination_ip ${ip} port ${upport} permit", //16 Запрещаем ИП запросы на аплинках на адрес клиента "config access_profile profile_id 16 add access_id ${mod}${port} ip source_ip 0.0.0.0 destination_ip ${ip} port ${upport} deny"}; for( UserPortStatus port : ports ) { log.debug("port.ipAddr=" + port.ipAddr); //удаляюшие правила if ( port.status.status == IPNContractStatus.STATUS_REMOVED ) { int [] profiles = new int [] { 8, 20 }; for (int profile : profiles) { String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port; log.debug("rule=" + rule); result.append( session.doCommand( rule ) ); } int [] profiles = new int [] { 12, 16 }; for (int profile : profiles) { for (int j = 0; j < uplinks.size(); j++) { Integer upport = uplinks.get(j); pref = j > 0 ? String.valueOf( j * 10 ) : ""; String rule = "config access_profile profile_id " + profile + " delete access_id " + pref + port.port; log.debug("rule=" + rule); result.append( session.doCommand( rule ) ); } } } else if ( port.status.status == IPNContractStatus.STATUS_OPEN ) { int [] profiles = new int [] { 8 }; for (int profile : profiles) { String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port; log.debug("rule=" + rule); result.append( session.doCommand( rule ) ); } int [] profiles = new int [] { 12, 16 }; for (int profile : profiles) { for (int j = 0; j < uplinks.size(); j++) { Integer upport = uplinks.get(j); pref = j > 0 ? String.valueOf( j * 10 ) : ""; String rule = "config access_profile profile_id " + profile + " delete access_id " + pref + port.port; log.debug("rule=" + rule); result.append( session.doCommand( rule ) ); } } //20 rule = openRules[0]; rule = setValues( rule, port.port, port.ipAddr, openAddress, "" ); log.info("rule=" + rule); result.append( session.doCommand( rule ) ); } else //close { int [] profiles = new int [] { 20 }; for (int profile : profiles) { String rule = "config access_profile profile_id " + profile + " delete access_id " + port.port; log.debug("rule=" + rule); result.append( session.doCommand( rule ) ); } //8 rule = closeRules[0]; rule = setValues( rule, port.port, port.ipAddr, openAddress, "" ); log.info("rule=" + rule); result.append( session.doCommand( rule ) ); //12, 16 for (int j = 0; j < uplinks.size(); j++) { Integer upport = uplinks.get(j); for (int i = 1; i < 3; i++) { rule = closeRules[i]; rule = setValues( rule, port.port, port.ipAddr, openAddress, String.valueOf( upport ) ); rule = rule.replaceAll( "\\$\\{mod\\}" , String.valueOf( j * 10 ) ); log.info("rule=" + rule); result.append( session.doCommand( rule ) ); } } } } } private String setValues( String rule, int port, String ip, String openAddress, String upport ) { rule = rule.replaceAll( "\\$\\{port\\}", String.valueOf( port ) ); rule = rule.replaceAll( "\\$\\{ip\\}" , ip ); rule = rule.replaceAll( "\\$\\{openAdress\\}", openAddress ); rule = rule.replaceAll( "\\$\\{upport\\}", upport ); return rule; } protected void doParentSync() { } public List getUserList( List statusList ) { List userList = new ArrayList(); for( UserStatus status : statusList ) { String rule = status.rule.getRuleText(); StringTokenizer st = new StringTokenizer( rule, ";" ); while( st.hasMoreTokens() ) { String token = st.nextToken().trim(); data = token.split( ":" ); if( data.length == 2 ) { UserPortStatus portStatus = new UserPortStatus(); portStatus.port = Utils.parseIntString( data[0] ); portStatus.ipAddr = data[1]; portStatus.status = status; userList.add( portStatus ); } else if ( data.length == 3 ) { UserPortStatus portStatus = new UserPortStatus(); portStatus.port = Utils.parseIntString( data[0] ); portStatus.macAddr = data[1].toUpperCase().replaceAll( "\\-", " " ); portStatus.ipAddr = data[2]; portStatus.status = status; userList.add( portStatus ); } } } return userList; } Сам шлюз: Код: Хост и порт шлюза: 10.49.64.183:23 Ключевое слово: мой админский пароль на свитче Конфигурация: login=crez open.address=91.199.153.0 open.mask=255.255.255.248 uplink=25,26,27,28 При закрытии и открытии шлюза в логе сервера вот это: Закрываю Код: 09-20/13:32:12 INFO [Thread-95] DlinkGateWorker - Running script 09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) at bsh.BSHType.getType(BSHType.java:154) at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) at bsh.Interpreter.eval(Interpreter.java:653) at bsh.Interpreter.eval(Interpreter.java:747) at bsh.Interpreter.eval(Interpreter.java:736) at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHType.getType(BSHType.java:154) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:653) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:747) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:736) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) 09-20/13:32:12 ERROR [Thread-95] LoggingPrintStream - ... 2 more 09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - Gate unaccesible - 10.49.64.183 09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - ------------------------- 09-20/13:32:12 ERROR [Thread-95] DlinkGateWorker - error: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276) at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) at bsh.BSHType.getType(BSHType.java:154) at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) at bsh.Interpreter.eval(Interpreter.java:653) at bsh.Interpreter.eval(Interpreter.java:747) at bsh.Interpreter.eval(Interpreter.java:736) at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) ... 2 more Открываю Код: 09-20/13:32:19 INFO [Thread-98] DlinkGateWorker - Running script 09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) at bsh.BSHType.getType(BSHType.java:154) at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) at bsh.Interpreter.eval(Interpreter.java:653) at bsh.Interpreter.eval(Interpreter.java:747) at bsh.Interpreter.eval(Interpreter.java:736) at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHType.getType(BSHType.java:154) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:653) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:747) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bsh.Interpreter.eval(Interpreter.java:736) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) 09-20/13:32:19 ERROR [Thread-98] LoggingPrintStream - ... 2 more 09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - Gate unaccesible - 10.49.64.183 09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - ------------------------- 09-20/13:32:19 ERROR [Thread-98] DlinkGateWorker - error: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker java.lang.RuntimeException: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:276) at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) Caused by: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) at bsh.BSHType.getType(BSHType.java:154) at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) at bsh.Interpreter.eval(Interpreter.java:653) at bsh.Interpreter.eval(Interpreter.java:747) at bsh.Interpreter.eval(Interpreter.java:736) at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) ... 2 more Ничего не получается, с BeanShell-ом к сожалению не дружу, поэтому не понимаю, почему не работает. Помогите, плиз, реализовать управление, а то 3526 пропали из продажи и все новые свитчи идут 3200. P.S. В логе свитча, естественно, пусто - биллинг даже не пытается к нему коннектиться. Ручками телнетом на свич захожу. |
Автор: | crez [ 21 сен 2010, 16:35 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
Не поверю, что ни у кого нет таких свитчей! Подскажите, плиз, кто как ими управляет? |
Автор: | stark [ 21 сен 2010, 20:09 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
у вас в 21-ой строке - "protected void doSync()"? добавьте import bitel.billing.server.ipn.GateWorker; |
Автор: | crez [ 21 сен 2010, 23:11 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
Начало скрипта поправил вот так: Код: import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; import bitel.billing.common.IPUtils; import bitel.billing.common.module.ipn.IPNContractStatus; import bitel.billing.server.ipn.GateWorker; import bitel.billing.server.ipn.UserStatus; import bitel.billing.server.ipn.bean.ManadUtils; import bitel.billing.server.ipn.bean.VlanManager; import bitel.billing.server.ipn.dlink.UserPortStatus; import bitel.billing.server.util.DefaultServerSetup; import bitel.billing.server.util.Utils; import bitel.billing.server.util.telnet.TelnetSession; protected void doSync() В server.log та же ошибка. Код: 09-21/20:53:12 INFO [Thread-19] DlinkGateWorker - Running script 09-21/20:53:13 ERROR [Thread-19] DlinkGateWorker - Eval error2: Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace Sourced file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : Class: GateWorker not found in namespace : at Line: 21 : in file: inline evaluation of: ``import java.io.BufferedReader; import java.io.InputStreamReader; import java.n . . . '' : GateWorker at bsh.BSHAmbiguousName.toClass(BSHAmbiguousName.java:74) at bsh.BSHType.getType(BSHType.java:154) at bsh.BSHFormalParameter.eval(BSHFormalParameter.java:67) at bsh.BSHFormalParameters.eval(BSHFormalParameters.java:107) at bsh.BSHMethodDeclaration.evalNodes(BSHMethodDeclaration.java:153) at bsh.BSHMethodDeclaration.eval(BSHMethodDeclaration.java:122) at bsh.Interpreter.eval(Interpreter.java:653) at bsh.Interpreter.eval(Interpreter.java:747) at bsh.Interpreter.eval(Interpreter.java:736) at bitel.billing.server.ipn.GateWorker$ScripterParent.invokeMethod(GateWorker.java:357) at bitel.billing.server.ipn.GateWorker$Scripter.runScriptSync(GateWorker.java:262) at bitel.billing.server.ipn.GateWorker.doParentSync(GateWorker.java:187) at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:100) и т.д. Не желает ![]() |
Автор: | stark [ 22 сен 2010, 12:32 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
я попробовал , у меня доходит до Код: до LoggingPrintStream - java.lang.RuntimeException: TargetError : at Line: 80 : in file: inline evaluation of: ``import java.io.IOException; import java.util.ArrayList; import java.util.HashMap . . . '' : throw new RuntimeException ( e ) ; Target exception: java.lang.RuntimeException: java.net.SocketTimeoutException: connect timed out Т.е как минимум до установки соединения у меня дошло |
Автор: | crez [ 22 сен 2010, 13:45 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
В чем же у меня могут быть грабли? Я перечитал на форуме все темы по этому поводу и про GateWorker давно знал, добавлял и убирал. Лог ошибки остается неизменным... Гм... мысль пришла: скрипт ведь где-то в бд сохраняется? Может быть он остается неизменным там? Полез искать... Проверил. В базе все меняется. Лог ошибки тот же. Куда рыть? |
Автор: | stark [ 23 сен 2010, 20:03 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
библитека bsh.jar в папке lib какого размера ? нет других библиотек с bsh* ? |
Автор: | crez [ 24 сен 2010, 13:30 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
bsh.jar 396122 байта, других bsh* нету. |
Автор: | Tester [ 26 сен 2010, 03:39 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
Цитата: Ничего не получается, с BeanShell-ом к сожалению не дружу, поэтому не понимаю, почему не работает. Помогите, плиз, реализовать управление, а то 3526 пропали из продажи и все новые свитчи идут 3200. P.S. В логе свитча, естественно, пусто - биллинг даже не пытается к нему коннектиться. Ручками телнетом на свич захожу. Доброе время суток! Стало интересно что там не так, обычно все работает (не всегда прямо, но разработчик раз два и работает). Проверил у себя все работает ( ipn вер. 5.0 сборка 257 от 10.08.2010 15:56:36). Мы правда не используем модуль IPN. Но грабли при запуске были и примерно все как Вы описали (логи не буду выкладывать). Оказалось на сервер биллинга просто было запрещено ходить на 23 порты (telnet) железа. Если у Вас та же проблема то собственно решение сами видите. Если как Вы говорите "ручками" сразу с биллинга, то сори, коньяк в помощь ![]() |
Автор: | crez [ 27 сен 2010, 11:30 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
В том-то и дело, что не срабатывает сам биллинг. Начинает исполнять скрипт и затыкается на отсутствующей библиотеке. А она есть... Ручками с него же: Код: [root@bgb local]# telnet 10.49.64.183 DES-3200-28 Fast Ethernet Switch Command Line Interface Firmware: Build 1.10.B015 Copyright(C) 2008 D-Link Corporation. All rights reserved. UserName:crez PassWord:******** DES-3200-28:4# никаких проблем. |
Автор: | mikos [ 27 сен 2010, 21:14 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
По SNMP эти свичи стандартными средствами рулятся без проблем. |
Автор: | mikos [ 27 сен 2010, 21:15 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
snmp.version=2c model=2 |
Автор: | stark [ 28 сен 2010, 11:26 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
2 crez: удалённый доступ можете дать ? |
Автор: | crez [ 28 сен 2010, 12:25 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
Могу. Сейчас отправлю параметры доступа в ЛС. |
Автор: | crez [ 28 сен 2010, 14:05 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
mikos писал(а): snmp.version=2c model=2 К сожалению и этот вариант не работает. Пробовал его раньше, попробовал сейчас еще раз. Не работает. Что-то у меня с биллингом... To: Tester С портами все правильно ![]() |
Автор: | stark [ 28 сен 2010, 15:27 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
да все проще ..Вы не туда смотрите . у вас падает не этот шлюз, а его родитель .dhcp .. У него тоже есть скрипт ..Если убирете скрипт , то будет работать ..Либо исправьте скрипт , там у вас действительно не импортируется GateWorker Правда с нашей стороны попутно обнаружилась ошибка . мы не учитываем переменную use.script в родитеском шлюзе при вызове метода parentSync. Это исправим , но в данном случае это значения не имеет |
Автор: | stark [ 28 сен 2010, 15:33 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
да ..И родительский шлюз, кстати, не нужно добавлять в договор |
Автор: | crez [ 28 сен 2010, 16:25 ] |
Заголовок сообщения: | Re: Помогите с управлением свитчами DLink DES-3028 и DES-3200 |
stark, огромное спасибо за найденную ошибку. Пойду исправлять DHCP. Сейчас поправлю, о результатах отпишусь... А в договоре не родительский шлюз ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |