PDA

Просмотр полной версии : Скрипти для Мікротіка


Rambo
15.06.2021, 16:10
Вітаю.

А хтось займається програмуванням таких залізяк? Є питання.

_basil_
17.06.2021, 22:45
По необхідності щось потроху для себе пишемо, але не так, щоб в гуру записуватись.

Rambo
19.06.2021, 22:31
Та просто заплутався в синтаксисі. Чомусь чекалка мікротіка матюкається на одну конструкцію.
Скрипт такий:

1 # Set local variables
2 :local firstInterface "DC1";
3 :local secondInterface "DC2";
4 :local pingTo1 "172.17.10.254";
5 :local pingCount 5;
6 :local stableConnect 70;
7 :local prefix ">>> ";
8 :log info ($prefix . "START PING to $pingTo1");
9 /interface pptp-client {
10 # Get ping successfully packets. In percent
11 :local pingStatus ((( [/ping $pingTo1 count=$pingCount] ) / $pingCount) * 100);
12 :log info ($pingStatus . "% END PING");
13 :if ($pingStatus < $stableConnect) do={
14 :log info ($prefix . "NO DC1!!!");
15 /interface pptp-client enable $firstInterface
16 :delay 5;}
17 # Check VPN
18 /interface pptp-client monitor [/interface pptp-client find name=$firstInterface] once 19 do={
20 :if ($status = "connected") do={
21 :log info ($prefix . "DC1 UP");
22
23 } else={
24 /interface pptp-client monitor [/interface pptp-client find name=$secondInterface] 25 once do={
26 :if ($status = "connected") do={
27 :log info ($prefix . "DC2 UP");
28 }
29
30 } else={
31 :log info ($prefix . "DCx not CONNECT!!!");
32 }
33 }
34
35 # Change VPN interface
36 /interface pptp-client disable $firstInterface
37 :delay 5;
38 /interface pptp-client enable $secondInterface
39 }
40 }
41 :log info ($prefix . "END SCRIPT");

Мікротік підключається ВПНом до датацентра, який має два входи (налаштовано 2 ВПНи, один з яких вимкнено). Скріпт перевіряє стан першого ВПНа, якщо він неживий, рестартує його. Якщо це не допомагає - пеерключається на другий. Якщо хоч один з ВПНів живий - припиняє роботу. Це такий має бути алгоритм.

Чекалка зупиняється на 30 строчці.

_basil_
20.06.2021, 18:30
перенос оператора "once" на новую строку (строки 24-25) не влияет?

_basil_
20.06.2021, 21:55
/interface pptp-client monitor [/interface pptp-client find name=$secondInterface]
once do={Если в скрипте действительно так, то проверка проводится не однократно, а постоянно до ручного прерывания

deivan
22.06.2021, 21:42
було б непогано delay збільшити, це ж асінхронщина, можливо не встигає

qwert1
12.11.2021, 17:42
можу продати. купив, налаштавати не можу. Задовбався.
Щось типу такого https://brain.com.ua/ukr/Tochka_dostupu_Wi-Fi_Mikrotik_RB941-2nD-p209495.html?utm_content=shopping&gclid=CjwKCAiAvriMBhAuEiwA8Cs5lZoCSzKsjHYPS3aXy4IQ g19mLIzlJlEjZ-viRvwI-w0PfJDNsZ5qpRoCN_EQAvD_BwE

Rambo
14.11.2021, 19:05
можу продати. купив, налаштавати не можу. Задовбався.
Щось типу такого https://brain.com.ua/ukr/Tochka_dostupu_Wi-Fi_Mikrotik_RB941-2nD-p209495.html?utm_content=shopping&gclid=CjwKCAiAvriMBhAuEiwA8Cs5lZoCSzKsjHYPS3aXy4IQ g19mLIzlJlEjZ-viRvwI-w0PfJDNsZ5qpRoCN_EQAvD_BwE

Тю! Шо там його налаштовувати. Допомогти?

qwert1
22.11.2021, 18:09
Тю! Шо там його налаштовувати. Допомогти?
а як? я в ньому не хочу розбиратись, бісить))

Rambo
24.11.2021, 12:25
Привозь - настрою.