Добрый вечер.
Подскажите пожалуйста, у вас случайно нет случайно шлюза Mikrotik под Telnet?
Хотел переделать SSH шлюз, который в WIKI, но почему-то толи передача строк туда не такая как у ssh, толи еще чтоб но многострочные команды уходят на шлюз в каком-то не таком виде и железка ругается. Есть подозрение, что что-то не то с переносом строки.
Код:
TelnetSession session = new TelnetSession( host, port );
session.setTimeout( timeout );
session.setLoginPromptSequence( ":" );
session.connect();
session.doCommand( login );
session.setLoginPromptSequence( ">" );
session.doCommand( pswd );
session.doCommand( "terminal length 0" );
session.doCommand( "terminal width 0" );
address_list = session.doCommand( "ip firewall address-list print without-paging" );
Затем идет формирование кода (new_address_list) для посылки его на железку. Код получается верный - вставляю его ручками в терминал -- все отрабатывает.
Код:
:global list1;
:set list1 "";
:foreach j in [/ip firewall address-list find] do={
:if ([:find [/ip firewall address-list get $j comment] "cid=609;"] = 0) do={
:set list1 ($list1 . "," . $j)
};
};
/ip firewall address-list remove $list1;
ip firewall address-list add address=10.99.0.105 list=access-inet comment="cid=609;rule_id=1;";
ip firewall address-list add address=10.99.0.106 list=access-inet comment="cid=609;rule_id=1;";
Отправляю на железку таким образом
Код:
if (new_address_list != null) {
print(new_address_list);
result = session.doCommand(new_address_list);
print(result);
};
Получаю ошибку от железки в result
Код:
<99.0.106 list=access-inet comment="cid=609;rule_id=1;";
[bgb@NAT] >
Что не так - не понимаю

((