Москва+7 (495) 103-4-103
Заказать звонок
  • Заказать звонок
  • Отложить 0 шт.
  • Сравнить 0 шт.
 07 Сен 2011    MikroTik, Scripts

 Скрипт для пере подключения соединения, с провайдером. Cхема сети.

Рис.1. Схема сети.

 

Допустим, мы подключены к провайдеру при помощи PPPoE или PPTP соединения.

 

 Mikrotik Routerboard раздел PPP

Рис.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

 

 Mikrotik Routerboard ping.

Рис.3. Mikrotik Routerboard ping.

 

 Mikrotik Routerboard параметры команды ping.

Рис.4. Mikrotik Routerboard параметры команды ping.

 

 Mikrotik Routerboard ping параметр count.

Рис.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;}

 

 Mikrotik Routerboard планировщик

Рис.6.  Mikrotik Routerboard планировщик.

 

Для того чтобы скрипт выполнялся с определенной периодичностью постоянно, добавим его в планировщик.

 

Евгений Рудченко специально для ASP24.