BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 26 июн 2025, 22:48

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: 09 апр 2013, 17:21 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
Не могу разобраться с настройкой шлюза IPN типа Mikrotik.

В Типы шлюзов --> Mikrotik --> Конфигурация ввел
Код:
user_rule.editor.class=bitel.billing.module.services.ipn.editor.MikrotikContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.MikrotikGateWorker


На вкладке Шлюзы ввел данные для подключения по SSH (22 порт). В конфигурации:
Код:
login=xxx
timeout=2000


При попытке закрыть/открыть шлюз у клиента - в комментарии пишет "Шлюз недоступен".

Пробовал использовать подключение через telnet (класс MikrotikTelnetGateWorker и порт 23), сниффером вижу обмен (биллинг передает логин и пароль, логин и пароль верные), но результат тот же.

Помогите!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 апр 2013, 17:36 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mash55 писал(а):
Не могу разобраться с настройкой шлюза IPN типа Mikrotik.

В Типы шлюзов --> Mikrotik --> Конфигурация ввел
Код:
user_rule.editor.class=bitel.billing.module.services.ipn.editor.MikrotikContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.MikrotikGateWorker


На вкладке Шлюзы ввел данные для подключения по SSH (22 порт). В конфигурации:
Код:
login=xxx
timeout=2000


При попытке закрыть/открыть шлюз у клиента - в комментарии пишет "Шлюз недоступен".


Покажите ошибку из лога сервера .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 09:23 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
Код:
04-10/10:24:36  INFO [http-8080-1] Setup - Load config for mid=3
04-10/10:24:38  INFO [http-8080-1] Setup - Load config for mid=1
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream - java.lang.RuntimeException: java.util.concurrent.TimeoutException
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:147)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:107)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream - Caused by: java.util.concurrent.TimeoutException
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:81)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   ... 2 more
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - Gate unaccesible - 172.17.1.1
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - -------------------------
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - error: java.util.concurrent.TimeoutException
java.lang.RuntimeException: java.util.concurrent.TimeoutException
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
        at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:147)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:107)
Caused by: java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:81)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
        ... 2 more




Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 09:53 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
mash55 писал(а):
Код:
04-10/10:24:36  INFO [http-8080-1] Setup - Load config for mid=3
04-10/10:24:38  INFO [http-8080-1] Setup - Load config for mid=1
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream - java.lang.RuntimeException: java.util.concurrent.TimeoutException
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:147)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:107)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream - Caused by: java.util.concurrent.TimeoutException
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:81)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
04-10/10:24:48 ERROR [Thread-15] LoggingPrintStream -   ... 2 more
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - Gate unaccesible - 172.17.1.1
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - -------------------------
04-10/10:24:48 ERROR [Thread-15] MikrotikGateWorker - error: java.util.concurrent.TimeoutException
java.lang.RuntimeException: java.util.concurrent.TimeoutException
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
        at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:147)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:107)
Caused by: java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:81)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
        ... 2 more



Доступ с биллинга на шлюз точно есть? пишет же в логах что не доступен

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 11:06 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
skyb писал(а):
Доступ с биллинга на шлюз точно есть? пишет же в логах что не доступен

Да, с сервера биллинга захожу на 172.17.1.1 и по SSH, и по telnet


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 11:15 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
У вас какая версия билинга? Шлюз повисает при установке соединения , скорее всего приходят в концt не те символы, которые ожидаются и он ждет пока не наступит timeout. Могло в какой-то версии mikrotik что-то поменяться . У вас логин как описан для шлюза? в нем есть спецсимволы типа "admin+ct"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 11:40 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
stark писал(а):
У вас какая версия билинга?

Код:
 Клиент: вер. 5.1 сборка 659 от 23.04.2012 12:43:57
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_22

 card вер. 5.1 сборка 172 от 21.01.2012 01:57:32
   ipn вер. 5.1 сборка 252 от 18.04.2012 18:24:50
   npay вер. 5.1 сборка 206 от 28.03.2012 09:16:57
   reports вер. 5.1 сборка 180 от 11.03.2012 16:46:16
   trayinfo вер. 5.1 сборка 147 от 21.01.2012 01:57:54


Могу попробовать поставить 5.2 на тестовую машину, но мне кажется, это не поможет.

Mikrotik:
Код:
MikroTik RouterOS 5.16 (c) 1999-2012


спец.символов в логине нет.
Код:
login=bgbilling
timeout=2000


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 11:49 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
mash55 писал(а):
stark писал(а):
У вас какая версия билинга?

Код:
 Клиент: вер. 5.1 сборка 659 от 23.04.2012 12:43:57
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_22

 card вер. 5.1 сборка 172 от 21.01.2012 01:57:32
   ipn вер. 5.1 сборка 252 от 18.04.2012 18:24:50
   npay вер. 5.1 сборка 206 от 28.03.2012 09:16:57
   reports вер. 5.1 сборка 180 от 11.03.2012 16:46:16
   trayinfo вер. 5.1 сборка 147 от 21.01.2012 01:57:54




Странно . у вас как будто более старый код. Там в 5.1 недавно добавлена информация отладочная(в 5.2 нет пока ) . Должно в логи выводить "timeout wait exceeded." Обновите 5.1 .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 13:18 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
обновил до текущей
Код:
04-10/13:14:53  INFO [bitel.billing.server.contract.action.ActionContractInfo] Setup - Load config for mid=3
04-10/13:14:55  INFO [bitel.billing.server.ipn.action.ActionAddressContractInfo] Setup - Load config for mid=1
04-10/13:15:21 ERROR [Thread-16] TerminalManager -  timeout wait exceeded....Last buffer=







  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 5.16 (c) 1999-2012       http://www.mikrotik.com/

  n
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream - java.lang.RuntimeException: java.util.concurrent.TimeoutException
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:154)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:110)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream - Caused by: java.util.concurrent.TimeoutException
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:89)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
04-10/13:15:21 ERROR [Thread-16] LoggingPrintStream -   ... 2 more
04-10/13:15:21 ERROR [Thread-16] MikrotikGateWorker - Gate unaccesible - 172.17.1.1
04-10/13:15:21 ERROR [Thread-16] MikrotikGateWorker - -------------------------
04-10/13:15:21 ERROR [Thread-16] MikrotikGateWorker - error: java.util.concurrent.TimeoutException
java.lang.RuntimeException: java.util.concurrent.TimeoutException
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:43)
        at bitel.billing.server.ipn.GateWorker.runSync(GateWorker.java:154)
        at bitel.billing.server.ipn.GateWorker.run(GateWorker.java:110)
Caused by: java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:89)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:61)
        at bitel.billing.server.ipn.MikrotikGateWorker.doSync(MikrotikGateWorker.java:38)
        ... 2 more



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 14:22 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
залогинтесь вручную и покажите весь вывод консоли вплоть до символа приглашения


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 апр 2013, 14:42 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
вручную:
Код:
# ssh bgbilling@172.17.1.1
bgbilling@172.17.1.1's password:








  MMM      MMM       KKK                          TTTTTTTTTTT      KKK
  MMMM    MMMM       KKK                          TTTTTTTTTTT      KKK
  MMM MMMM MMM  III  KKK  KKK  RRRRRR     OOOOOO      TTT     III  KKK  KKK
  MMM  MM  MMM  III  KKKKK     RRR  RRR  OOO  OOO     TTT     III  KKKKK
  MMM      MMM  III  KKK KKK   RRRRRR    OOO  OOO     TTT     III  KKK KKK
  MMM      MMM  III  KKK  KKK  RRR  RRR   OOOOOO      TTT     III  KKK  KKK

  MikroTik RouterOS 5.16 (c) 1999-2012       http://www.mikrotik.com/


[bgbilling@MikroTik] >



надпись bgbilling@MikroTik в консоли цветная.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 апр 2013, 10:27 
Не в сети

Зарегистрирован: 07 ноя 2008, 12:51
Сообщения: 99
Карма: -9
сделал управление шлюзом через скрипт viewtopic.php?f=19&t=6107
Правда, автор там так и не поправил скрипт по Вашей рекомендации, а моих познаний в Java хватило только на замену
Код:
login = gateSetup.getStringValue( "login", "root" );   

на
Код:
login = gateSetup.get( "login", "root" );   

:(

Получается, что стандартные средства со шлюзами не работают, всем приходится писать свои скрипты?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 апр 2013, 12:28 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Я попробовал с помощью ssh на их демо версии demo.mt.lv .Все работает . Надо было попробовать увеличить timeout, возможно он долго у вас выводит приветствие.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 апр 2013, 15:19 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
1:

Код:
user_rule.editor.class=bitel.billing.module.services.ipn.editor.MikrotikContractRuleEditor
gate_manager.class=bitel.billing.server.ipn.MikrotikGateWorker
use.script=1


2:
Код:
[OPEN]
<LOOP>
/ip firewall address-list add address={A} list=ACCESS_LIST comment=!!{CID}!!;
/ip firewall address-list add address={A} list=${speed} comment=!!{CID}!!;
</LOOP>
<LOOP_NET>
/ip firewall address-list add address= {IP}/{MASK_BIT} list=ACCESS_LIST comment=!!{CID}!!;
/ip firewall address-list add address= {IP}/{MASK_BIT} list=${speed} comment=!!{CID}!!;
</LOOP_NET>
[/OPEN]
[CLOSE]
/ip firewall address-list remove [/ip firewall address-list find comment="!!{CID}!!"];
[/CLOSE]
[DELETE]
/ip firewall address-list remove [/ip firewall address-list find comment="!!{CID}!!"];
[/DELETE]
[/DEFAULT]


3:

Код:
import java.util.*;
import java.util.regex.*;
import ru.bitel.bgbilling.common.*;
import bitel.billing.common.module.ipn.*;
import bitel.billing.server.ipn.bean.*;
import bitel.billing.server.ipn.*;
import bitel.billing.server.util.ssh.*;
import bitel.billing.server.util.*;
import bitel.billing.server.util.ssh.SSHSession;
import ru.bitel.bgbilling.modules.ipn.server.bean.command.GateCommandUtil;
import bitel.billing.common.module.ipn.IPNContractStatus;

protected void doSync()
{
   host = gate.getHost();
   port = gate.getPort();
   gateSetup = new DefaultServerSetup( gate.getConfig(), "\r\n" );
   login = gateSetup.getStringValue( "login", "root" );                               
   pswd = gate.getKeyword();
   session = null;
   try
   {
      session = new SSHSessionExec( host, port, login, pswd );
      address_list = session.command( "ip firewall address-list print without-paging  where list=ACCESS_LIST" );
      new_address_list = null;


      for ( UserStatus status : statusList )
      {
         cid = status.contractId;
         ruleType = status.ruleType;
         rule_id = 0;
         if (ruleType != null)
         {
            rule_id = ruleType.getId();
         };
         rules = null;
        if (address_list.indexOf( "!!" + cid + "!!" ) >= 0)
       {
            if ( status.status > 0 )
            {
               if ( status.status == IPNContractStatus.STATUS_REMOVED )
               {
                  rules = getDeleteRules( status );
               }
               else
               {
                  rules = getCloseRules( status );
               };
            };
         }
         else if ( status.status == IPNContractStatus.STATUS_OPEN )
         {
            rules = getOpenRules( status );
         };

         if (rules != null){
            for ( String rule : rules )
            {
               p = Pattern.compile("rule_id");
               m = p.matcher(rule);
               if (new_address_list == null)
               {
                  new_address_list = "";
               };
               new_address_list = new_address_list + m.replaceAll("rule_id="+rule_id) + "\n";
            };
         };
      }
      if (new_address_list != null){
         result = session.command(new_address_list);
      };

   }
   finally   {            if ( session != null )            {                session.disconnect();            }   }     
}

private getOpenRules( status )
{
   return getRules( status, "\\[OPEN\\](.*)\\[/OPEN\\]" );
}
private getCloseRules( status )
{
   return getRules( status, "\\[CLOSE\\](.*)\\[/CLOSE\\]" );
}
private getDeleteRules( status )
{
   return getRules( status, "\\[DELETE\\](.*)\\[/DELETE\\]" );
}   
private getRules( status, template )
{
   rule = status.rule.getRuleText();
   if ( status.ruleType != null )
   {
      rule = generateRule( rule, status.gateType, status.ruleType, status.contractId );
   }
   pattern = Pattern.compile( template, Pattern.DOTALL );
   m = pattern.matcher( rule );
   if ( m.find() )
   {
      rule = m.group( 1 );
   }
   rule.replaceAll( "\r", "" );
   return rule.split( "\n" );
}
private   generateRule( addresses, gateType, ruleType, cid )
{
   String rule;
   replacements = new HashMap();     
   replacements.put( "\\{CID\\}", String.valueOf( cid ) );

   ruleText = GateCommandUtil.getRule( gateType, ruleType );
   rule = GateCommandUtil.generateRule( ruleText, addresses, replacements, ruleType );
   return rule;
}


4:
Код:
/queue type
add kind=pcq name=2m pcq-classifier=dst-address pcq-dst-address-mask=29 pcq-rate=2048k pcq-src-address-mask=29
add kind=pcq name=4m pcq-classifier=dst-address pcq-dst-address-mask=29 pcq-rate=4196k pcq-src-address-mask=29
add kind=pcq name=6m pcq-classifier=dst-address pcq-dst-address-mask=29 pcq-rate=6200k pcq-src-address-mask=29
add kind=pcq name=12m pcq-classifier=dst-address pcq-dst-address-mask=29 pcq-rate=12200k pcq-src-address-mask=29
add kind=pcq name=unlim pcq-classifier=dst-address pcq-dst-address-mask=29 pcq-rate=100M pcq-src-address-mask=29
/queue tree
add name=2m packet-mark=2m parent=total queue=2m
add name=4m packet-mark=4m parent=total queue=4m
add name=6m packet-mark=6m parent=total queue=6m
add name=12m packet-mark=12m parent=total queue=12m
add name=un packet-mark=unlim parent=total queue=unlim
/ip firewall filter
add chain=forward dst-address-list=ACCESS_LIST
add chain=forward src-address-list=ACCESS_LIST
add action=drop chain=forward
/ip firewall mangle
add action=mark-packet chain=forward dst-address-list=2m in-interface=ether3 new-packet-mark=2m passthrough=no
add action=mark-packet chain=forward dst-address-list=4m in-interface=ether3 new-packet-mark=4m passthrough=no
add action=mark-packet chain=forward dst-address-list=6m in-interface=ether3 new-packet-mark=6m passthrough=no
add action=mark-packet chain=forward dst-address-list=12m in-interface=ether3 new-packet-mark=12m passthrough=no
add action=mark-packet chain=forward dst-address-list=unlim in-interface=ether3 new-packet-mark=unlim passthrough=no


5:
Код:

cat /etc/crontab:

40 1        * * *   root    /root/select_13
45     * * * root /usr/sbin/zvonok_jene.sh

cat select_13:

#!/bin/bash
find /root/data/ -mtime +10 -type f -exec rm -rf {} \;
d=`date +%M%H%d%m%g`
mysql -uroot -p:jfgDctvBlbjnfv -B -N -e "select cid,rtid,INET_NTOA(SUBSTRING( rule_txt,2,10)) from ipn_user_gate_1 where fwid="10";" bgbilling > /root/data/$d.0_10
if [ -s /root/data/$d.0_10 ]
then
echo "/ip firewall address-list remove [/ip firewall address-list find list=unlim]" > /root/rules_10.rsc
echo "/ip firewall address-list remove [/ip firewall address-list find list=2m]" >> /root/rules_10.rsc
echo "/ip firewall address-list remove [/ip firewall address-list find list=4m]" >> /root/rules_10.rsc
echo "/ip firewall address-list remove [/ip firewall address-list find list=6m]" >> /root/rules_10.rsc
echo "/ip firewall address-list remove [/ip firewall address-list find list=12m]" >> /root/rules_10.rsc
while read line
do
cid=`echo "${line}"|awk '{print $1}'`
rule_num=`echo "${line}"|awk '{print $2}'`
ip=`echo "${line}"|awk '{print $3}'`
rule_name=`grep -w ${rule_num} /root/rules|awk '{print $2}'`
if [ x$rule_name = x ]
then
rule_name=unlim
fi
echo "/ip firewall address-list add address=$ip/29 list=$rule_name comment=!!$cid!!" >> /root/rules_10.rsc
done < /root/data/$d.0_10
echo "/file remove [ /file find name=\"rules_10.rsc\" ];" >> /root/rules_10.rsc
ncftpput -u admin -p :jfgDctvBlbjnfv 192.168.0.255 / /root/rules_10.rsc
sleep 1
/root/s.200
else
exit
fi

cat rules:

1 unlim
5 2m
6 4m
7 6m
8 12m

cat s.200:

#!/bin/sh
export SSH_ASKPASS="/root/p.sh"
export DISPLAY=":0"
setsid ssh admin@192.168.0.255 "import rules_10.rsc"

cat p.sh:

#!/bin/bash
echo ":jfgDctvBlbjnfv"



Тока прежде чем "сссашиться" на микротик из скриптов и БЖБ - надо не забыть обменяться с ним ( RSA( DSA)) ключами из командной строки....

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.048s | 44 Queries | GZIP : On ]