Контроль якості з’єднання 3G інтернет на MikroTik

інтернет

Оновлення від 27/01/2018:

  • Виправлені помилки, що проявили себе в новій версії RouterOS (робота протестована на ROS 6.41).
  • Прибрав автоматичне визначення інтерфейсу, через який йде інтернет і який потрібно контролювати (інтерфейс USB модему). Тепер ім'я інтерфейсу необхідно вказати вручну (змінна ifName). Ця функція не завжди зручна, тому вирішив відмовитися від неї.
  • Скрипт більше не підтримується. Новий сценарій: MikroTik. Скрипт контролю мобільного Інтернету

Оновлення від 03/10/2015:

  • Додана можливість отримання на email звіту з 3G модему про рівень сигналу (RSSI), оператора мобільного зв'язку, моделі модему і т.д.
  • Перевірка наявності маршруту за замовчуванням. Якщо ні, перезавантаження. Почала виникати проблема, що PPP з'єднання піднімається, але іноді, в таблиці маршрутизації не з'являється маршрут за замовчуванням (звичайно "Add default route" включено).

Оновлення від 09/05/2015:

  • Контроль наявності інтерфейсів ім'я яких починається на «wlan» (у мене була проблема, коли дані інтерфейси зникали і допомагало тільки перезавантаження, схоже проблема була в конденсаторі, його перепояли, але про всяк випадок перевірку залишив).
  • Контролює завантаження CPU протягом зазначеного часу. Якщо 100%, то перезавантаження Mikrotik.
  • ICMP пакети для тестування інтернету, відправляються тільки в тому випадку, якщо в даний момент, інтернет трафік менше 30 кбіт/с (були проблеми, коли канал забивався на 100% і ICMP пакети губилися, скрипт вважав, що інтернет лежить і перезапускав з'єднання).

Оновлення від 26/09/2014:

  • Зміненоінформація про налаштування SMTP. Використання SSL/TLS.

PPP з'єднання встановлено, але інтернету немає або в більшості випадків інтернет є але з 60-80% втрат пакетів. Іноді ця проблема виникає щодня, іноді щотижня, а буває кілька разів на годину. Проблему треба було вирішувати. Потрібно написати скрипт контролю з'єднання.

У MikroTik для написання скриптів використовується мова Lua. Т.к. раніше з даною мовою я ніколи не працював і вивчив його основи за годину-півтори те й скрипт вийшов простий і не претендує на геніальність, але свої функції він виконує.

Що робить скрипт

  • Контроль наявності wlan інтерфейсу (якщо ні, перезапуск Mikrotik);
  • Контроль завантаження CPU (якщо 100% завантаження за вказаний час, перезапуск Mikrotik);
  • Контроль наявності за замовчуванням маршруту (якщо ні, перезапуск Mikrotik);
  • Контроль наявності трафіку на інтерфейсі PPP;
  • Якщо трафіку на інтерфейсі PPP немає, то проводиться тестування з'єднання використовуючи ICMP протокол (ping). Якщо недоступні відразу два хоста, PPP з'єднання перезапускається;
  • Інформація про рівень сигналу 3G модему (RSSI), оператора стільникового зв'язку і т.д.;
  • За всіма описаними вище подіями, надсилається звіт на email.

Устаткування

Маршрутизатор MikroTik RB751U-2HnD, ver. 6.32.2