Проблема с отправкой команд на микротик через телнет с помощью ожидаемого скрипта

моя задача создать автоматический скрипт, который отправляет команды на роутер микротик через телнет. Я пытаюсь создать сценарий "ожидания".

Но я застрял в части отправки команды. Автономный вход в систему работает хорошо (первый код), но когда я добавляю другую команду (второй код), консоль зависает на пароле (https://imgur.com/WqXjyUP) в течение нескольких секунд, а затем я получаю вывод в виде изображения: https://imgur.com/BR6a2q6

Первый код для входа в роутер. Этот отлично работает.

spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
interact;

и вот тот же код после добавления команды, мне нравится отправлять

spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
expect "> ";
send "ip firewall filter add chain=forward src-address=34.54.32.33 action=log\r";
exit;

Я получил тот же результат при использовании скрипта без ожидания, которое я пробовал до «ожидания».

(
echo open "12.12.13.44"
sleep 2
echo "admin"
sleep 2
echo "admin"
sleep 2
echo "ip firewall filter add chain=forward src-address=34.54.32.33 action=log"
sleep 2
echo "exit"
) | telnet

PS. Я использую Debian версии 8 и RouterOS 6.34.4.

ППС. Ранее упомянутые устройства предназначены для загрузки окончательного решения, у меня есть еще один маршрутизатор и компьютер (Ubuntu 18.10 и RouterOS 6.44.1), где я пробую свои сценарии, и результат, который я показал на рисунке, появляется как на моих маршрутизаторах, так и на компьютерах.

Буду благодарен за любой совет по моей проблеме.


person RAJJJA    schedule 26.03.2019    source источник
comment
Привет и добро пожаловать в Stack Overflow! Спасибо, что задали четкий вопрос и показали, что вы пытались!   -  person user230910    schedule 27.03.2019
comment
RouterOS 6.34 слишком стар; обновите свой микротик и попробуйте еще раз, может они что-то исправили.   -  person Benoit PHILIPPON    schedule 27.03.2019
comment
Спасибо за ответ. Обновил RouterOS до 6.44.1, но ничего не изменилось.   -  person RAJJJA    schedule 27.03.2019


Ответы (1)


Я нашел решение по адресу: https://wiki.mikrotik.com/wiki/Manual:Console_login_process#FAQ. Проблемный вывод исчез после того, как я добавил «+t» после имени для входа.

person RAJJJA    schedule 28.03.2019