Рис.1. Схема сети.
Допустим, мы подключены к провайдеру при помощи PPPoE или PPTP соединения.
Рис.2. Mikrotik Routerboard раздел PPP.
В таком случае в Mikrotik Routerboard появляется интерфейс pptp-out1 или pppoe-out1 (в зависимости от типа соединения).
Бывает и такое: Mikrotik Routerboard подключен к серверу, а доступ к сети Интернет отсутствует. В этом случае помогает переподключение к серверу.
Облегчим администратору жизнь - напишем скрипт, который будет выполнять это действие вместо него.
Суть скрипта заключается в следующем: выполняется команда ping к серверу ya.ru - если связь отсутствует, то выполняется переподключение к серверу.
:local pingcount 5; :local hostping ya.ru;
:local pingresultA [/ping $hostping count=$pingcount]; :if ($pingresultA > 0) do={ :put "internet connected"} else={:interface pptp-client disable pptp-out1; :interface pptp-client enable pptp-out1;}
Создаем локальную переменную pingcount и присваиваем ей значение 5:
:local pingcount 5;
Создаем локальную переменную hostping и присваиваем ей значение ya.ru. Это хост, который мы будем пинговать:
:local hostping ya.ru;
Условно разделим это действие на две части:
:local pingresultA [/ping $hostping count=$pingcount];
Создаем переменную pingresultA и в нее заносим значение, полученное от действия [/ping $hostping count=$pingcount], в которое мы подставили значения переменных:
:local pingresultA
Рис.3. Mikrotik Routerboard ping.
Рис.4. Mikrotik Routerboard параметры команды ping.
Рис.5. Mikrotik Routerboard ping параметр count.
Обязательно нужно указать параметр count (количество отправляемых запросов). Если его не указать, то команда ping будет выполняться бесконечно.
:if ($pingresultA > 0) do={ :put "internet connected"}
После того, как мы получили значение переменной pingresultA, выполняем проверку:
- если переменная больше нуля, то выводим сообщение "internet connected";
- если переменная не больше нуля, следовательно нет доступа к серверу, - выполняем действие, которое переподключит соединение:
else={:interface pptp-client disable pptp-out1; :interface pptp-client enable pptp-out1;}
Рис.6. Mikrotik Routerboard планировщик.
Для того чтобы скрипт выполнялся с определенной периодичностью постоянно, добавим его в планировщик.
Евгений Рудченко специально для ASP24.