Скрипт + telnet
Добавлено: 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. понимаю что много буков. И может показаться что слишком глупый вопрос. Но я не имел дел до сих пор с микротиком. А информации по этому делу нашел очень скудно. Посему покорно прошу помощи у более опытных людей. Заранее благодарен.
Я тут совсем новый и зеленый. Но прежде чем сюда писать обшарил интернет в поисках нужной инфы и что-то находил совсем не то что я искал.
С микротиками я не имел тесного контакта до сего момента. И так у меня следующий вопрос.
Подскажите пожалуйста как правильно запустить и настроить 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. понимаю что много буков. И может показаться что слишком глупый вопрос. Но я не имел дел до сих пор с микротиком. А информации по этому делу нашел очень скудно. Посему покорно прошу помощи у более опытных людей. Заранее благодарен.