Скрипт + telnet

Здесь выкладываем скрипты
Lovi_
Сообщения: 7
Зарегистрирован: 10 окт 2016, 10:24

Скрипт + telnet

Сообщение Lovi_ » 10 окт 2016, 10:57

Доброго времени суток.
Я тут совсем новый и зеленый. Но прежде чем сюда писать обшарил интернет в поисках нужной инфы и что-то находил совсем не то что я искал.
С микротиками я не имел тесного контакта до сего момента. И так у меня следующий вопрос.
Подскажите пожалуйста как правильно запустить и настроить netwatch (как менять провайдера это я понял, тут всё просто и легко у меня другая задача.)

Вводная.
И так есть у нас чудо сервер communigate и всё бы ничего, он прекрасно работает. Но возникла потребность продублировать канал. И вроде есть 2 провайдер. Но вот незадача. Начальство не хочет покупать вторую AS и вешать туда белые IP. После недолгих скитаний взор мой пал на микротик. Был взят на тест у знакомого домашний роутер, и я скажу настройка микротика и его функционал поражает. В общем он делает всё то что именно нужно. Плюс ко всему цена очень приятная.

Теперь проблема.
Как я уже говорил раньше "чудо сервер communigate"! Вся беда состоит в том, что в настройках communigate есть одна занозная строчка WANAddress.
Дело в том что в этой строке указывается IP который нам предоставляет ISP. И только с этой строкой communigate работает как положенно. Ну бог с ней. Дело в том что когда ISP1 падает микротик поднимает ISP2 с помощью netwatch, а делает он это просто великолепно. Так вот поднялся у нас ISP2 и что же делать. IP WANAddress остался от ISP1, а нужно указать От ISP2.

ISP1 работает ISP2 потушен
WANAddress = 99.99.99.99

ISP1 отключился срабатывает скрипт поднимается ISP2
WANAddress = 99.99.99.99 остался прежним
И чтобы communigate заработал нужно менять IP на 88.88.88.88
ОК фигня война. После не большой переписки с тех поддержкой communigate выяснилось что можно использовать CLI/API и всё прекрасно менять.

Вот список команд которые нужно для этого счастья.

telnet 192.192.192.192 106
USER user
PASS userpass
setnetwork {WANAddress = "[88.88.88.88]";}
QUIT

Как написать скрипт на Linux это не составило проблемы (когда тестировал). Даже замутил скрипт на cisco.
Но вот как правильно сделать это в mikrotik я так и не разобрался.
Через newterminal на микротик я попробывал в ручную. До всюду достукиваюсь и всё получается список команд выглядит след образом.

/system telnet 192.192.192.192 106
Trying 192.192.192.192...
Connected to 192.192.192.192.
Escape character is '^]'.
200 test CommuniGate Pro PWD Server 6.1.11 ready
user user
300 please send the PASS
pass userpass
200 login OK, proceed
setnetwork {WANAddress = "[88.88.88.88]";}
200 OK
Quit
200 CommuniGate Pro PWD Server connection closed
Connection closed by foreign host.

Welcome back

И всё. Комунигейтюшка прекрасно работает. Идея такая добавить к скриптам на mikrotik netwatch

/ip route enable [find comment="ISP2"]

Добавить правильный набор команд чтобы он конектился к коммунигаейту и менял Ip.
Как это сделать ну или хотябы как должен выглядить правильно синтаксис я не нашел, а все потуги правильно его родить тоже не получилось. Из инфы понял что, вроде бы как используется язык LUA, но что-то тоже всё без результатно.

P.S. понимаю что много буков. И может показаться что слишком глупый вопрос. Но я не имел дел до сих пор с микротиком. А информации по этому делу нашел очень скудно. Посему покорно прошу помощи у более опытных людей. Заранее благодарен.
Аватара пользователя
Vlad-2
Сообщения: 490
Зарегистрирован: 08 апр 2016, 19:19
Откуда: Камчатка
Контактная информация:

Re: Скрипт + telnet

Сообщение Vlad-2 » 10 окт 2016, 12:08

Мне кажется Вы как-то всё усложнили, менять адрес сервиса, который постоянный и внешний..., как-то это не то, костыльно чтоли.
Во всяком случаи я так думаю.

Хочу предложить более иной подход и виденье, мне кажется он более гибче/универсальнее и не надо менять адреса:
(сразу говорю у меня этот метод работает, только не с почтовиком, а с базой данных, учесть что у нас операторы спутниковые,
связь не ахти,приходиться делать наподобие такого отказоустойчивого кластера :))))))))

План:
1) убираем реальный адрес с почтовика
2) выставляем его/их (адреса) на микротике (оба адреса, что от первого прова, что от второго)
2.1) делаете пробросы на обоих адресов и запросы по их портам на почтовик
2.2) шлюзом у почтовика конечно должен стоять микротик
3) при входящем запросе (не важно с какова интерфейса/провайдера) он придёт на микротик, сам микротик уже всё сделает,
поймёт откуда пришёл запрос и куда дальше его направить. Естественно придётся настроить проброс портов, правильную маршрутизацию, но она у вас
уже в микротике процентов на 70 сделана.

В итоге: Вы защитите почтовик в какой то степени, будут сразу доступны 2 канала (если сможете настроить) и при этом будет всегда доступен почтовик в любом случаи.
На работе(ах): CCR1016-12G, RB2011UAS-2HnD-IN и hAP lite
Дома: CCR1016-12G
Для тестов: hAP lite и что-то ещё по мелочи
MTCNA
MTCRE
Lovi_
Сообщения: 7
Зарегистрирован: 10 окт 2016, 10:24

Re: Скрипт + telnet

Сообщение Lovi_ » 10 окт 2016, 12:17

спасибо за отзыв но не прокатит.
Такая схема прорабатывалась в самом начале.
Все дело именно в настройках communigate. Всё именно в этой долбаной строчке в самом комунигейте.
Например elastix работаем просто изумительно транки поднимает всё бегает прыгает. С почтовиком на zimbra вообще не было никаких проблем. Тесты прошли на ура. А вот !!!communigate!!! не поцоны, ничё не знаю, меняйте у меня в настройках этот долбаный Ip. И хоть ты тресни. А самое поршивое то, что в эту строчку помещается только 1 IP, и нет возможности указать например два, или альтернативный. Только один и только конкретный. У меня горит от этого уже неделю :)
KARaS'b
Сообщения: 432
Зарегистрирован: 29 сен 2011, 09:16

Re: Скрипт + telnet

Сообщение KARaS'b » 10 окт 2016, 12:32

Поддержу товарища Vlad-2. Насколько можно понять и данного мана - http://www.communigate.com/ru/guide/Network.html, ваш CommuniGate прекрасно умеет работать за натом.
Lovi_
Сообщения: 7
Зарегистрирован: 10 окт 2016, 10:24

Re: Скрипт + telnet

Сообщение Lovi_ » 10 окт 2016, 14:20

Еще раз говорю. Communigate прекрасно работает.
И работает он вот по этой схеме.
http://www.communigate.com/ru/guide/Net ... ewall2.gif
НО! учтите что это схема только с 1 провайдером.
И я ещё раз повторю при переключении на другого провайдера нужно менять WANAddress в COMMUNIGATE!!!
И менять его надо РУЧКАМИ! Или скриптиком. Вопрос то был ребят про скрипт. Про то как правильно его написать.
podarok66
Модератор
Сообщения: 3181
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Re: Скрипт + telnet

Сообщение podarok66 » 10 окт 2016, 15:16

Ну так у Communigate и будет один адрес, ну скажем 192.168.1.15, а уж на Тике будет два белых адреса сразу...
Впрочем, вам виднее, вы рядом.
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vqd
Модератор
Сообщения: 3760
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Re: Скрипт + telnet

Сообщение vqd » 10 окт 2016, 15:22

Скриптом вы не заставите микротику подключатся куда то по ССХ или телнет и что то выполнять. Эта возможность закрыта разработчиками в целях безопасности.

Руками из консоли легко
Есть интересная задача и бюджет? http://mikrotik.site
Lovi_
Сообщения: 7
Зарегистрирован: 10 окт 2016, 10:24

Re: Скрипт + telnet

Сообщение Lovi_ » 10 окт 2016, 15:43

podarok66 писал(а):Ну так у Communigate и будет один адрес, ну скажем 192.168.1.15, а уж на Тике будет два белых адреса сразу...
Впрочем, вам виднее, вы рядом.

В коммунигейте и есть один адрес. Если не поняли про какое поле идёт речь можете почитать вот тут
http://www.communigate.com/ru/guide/Network.html#WAN
это такая немного долбанутая специфика настройки communigate. Не спрашивайте почему она такая, я не знаю :) (хотя догадываюсь, что это скорее всего связанно с корректной работой почтовика.)
Из мануала нас интересует второй метод подключения. И там есть небольшой пункт. Я его называю чудесная строчка.
"Например, если ваш Сервер CommuniGate Pro имеет в локальной сети IP адрес 10.0.1.12, и NAT/Firewall ретранслирует все входящие соединения, приходящие на IP адрес 77.77.77.77, на адрес 10.0.1.12, то укажите в этой настройке IP адрес 77.77.77.77: "
Конечна на этом все сюрпризы коммунигейта не заканчиваются, и до финишной настройки надо еще пару танцев сделать, но это уже тонкости.

vqd писал(а):Скриптом вы не заставите микротику подключатся куда то по ССХ или телнет и что то выполнять. Эта возможность закрыта разработчиками в целях безопасности.

Руками из консоли легко


То есть получается скриптом можно отрабатывать только, внутренние потребности микротика (ну скажем так в переделах данной железяки). И не шагу в сторону?
И я так понимаю никаких там галочек в снятии ограничений нет?
vqd
Модератор
Сообщения: 3760
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Re: Скрипт + telnet

Сообщение vqd » 10 окт 2016, 15:58

нет, нету
Есть интересная задача и бюджет? http://mikrotik.site
Lovi_
Сообщения: 7
Зарегистрирован: 10 окт 2016, 10:24

Re: Скрипт + telnet

Сообщение Lovi_ » 10 окт 2016, 16:01

vqd писал(а):нет, нету

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

P.S. тему можно закрывать. Спасибо большое всем за ваши ответы и советы.

Вернуться в «Готовые скрипты Mikrotik»

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

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