Konfiguracja MikroTik — Część 74: Dynamiczna Kontrola Pasma za pomocą Simple Queues z API i automatyzacją
Sieci komputerowe

Konfiguracja MikroTik — Część 74: Dynamiczna Kontrola Pasma za pomocą Simple Queues z API i automatyzacją

Konfiguracja MikroTik — Część 74: Dynamiczna Kontrola Pasma za pomocą Simple Queues z API i automatyzacją


Wprowadzenie

W nowoczesnych środowiskach sieciowych kontrola pasma jest jednym z kluczowych elementów zarządzania jakością usług (QoS). MikroTik RouterOS oferuje wiele sposobów ograniczania przepustowości — od prostych kolejek Simple Queues po złożone struktury PCQ (Per Connection Queue). Jednak często administratorzy potrzebują bardziej dynamicznej kontroli, która reaguje na zmienne warunki ruchu, obciążenie sieci lub zmiany harmonogramu pracy.

W tej części przedstawimy zaawansowaną metodę tworzenia dynamicznych kolejek Simple Queues, które są zarządzane poprzez API MikroTik i mogą być zautomatyzowane przez zewnętrzne skrypty Python lub systemy monitoringu.


Krok 1 — Podstawy Simple Queues

Simple Queues w MikroTik umożliwiają ograniczanie przepustowości dla konkretnego adresu IP, podsieci, interfejsu lub protokołu. Najważniejsze parametry Simple Queue to:

  • target — adres lub interfejs objęty regułą
  • max-limit — maksymalna przepustowość (upload/download)
  • burst — dodatkowe parametry pozwalające na krótkotrwałe zwiększenie prędkości
Konfiguracja MikroTik — Część 74: Dynamiczna Kontrola Pasma za pomocą Simple Queues z API i automatyzacją
Konfiguracja MikroTik — Część 74: Dynamiczna Kontrola Pasma za pomocą Simple Queues z API i automatyzacją

Krok 2 — Konfiguracja Simple Queue przez CLI

/queue simple
add name="limit_user1" target=192.168.10.100/32 max-limit=10M/10M

Krok 3 — Automatyzacja przez API MikroTik

Połączenie Python z RouterOS API

Użyjemy popularnej biblioteki librouteros do komunikacji z API MikroTik.

Instalacja:

pip install librouteros

Przykładowy skrypt Python:

from librouteros import connect

api = connect(username='admin', password='password', host='192.168.1.1')

# Dodaj kolejkę Simple Queue
api('/queue/simple/add', {
    'name': 'dynamic_limit_user',
    'target': '192.168.10.101/32',
    'max-limit': '5M/5M'
})

Krok 4 — Integracja z systemem monitoringu

Możliwości:

  • Integracja z Zabbix: Dynamiczne reagowanie na trigger (np. wysokie zużycie łącza)
  • Wykorzystanie Grafana + Prometheus do analizy ruchu i zmiany kolejek
  • Stworzenie własnej aplikacji backendowej do dynamicznego zarządzania ruchem
Czytaj  RIPv1 vs. RIPv2: Kluczowe różnice i kiedy używać której wersji

Krok 5 — Wdrażanie Harmonogramów Prędkości

MikroTik pozwala na wykorzystanie schedulerów i skryptów do zmiany parametrów Simple Queues.

Przykład CLI:

/system scheduler
add name="nocny_limit" start-time=00:00:00 interval=1d on-event="/queue simple set [find name=nocny_uzytkownik] max-limit=1M/1M"

Krok 6 — Weryfikacja i monitoring kolejek

/queue simple print
/tool graphing queue

Zalecane jest także użycie SNMP lub API do monitorowania stanu kolejek w czasie rzeczywistym.


Praktyczne scenariusze użycia

  • Ograniczanie ruchu nocą dla określonych hostów
  • Dynamiczne throttling łącza podczas incydentów DDoS
  • Automatyczne zmniejszanie pasma podczas przeciążenia WAN
  • Integracja z portalem HotSpot — dynamiczne zmiany prędkości użytkowników

Najczęstsze błędy

  • Zapominanie o identycznych nazwach kolejek przy skryptach automatyzacji
  • Niezachowanie priorytetów przy mieszanych typach kolejek
  • Błędne formatowanie jednostek w API (bitów vs bajtów)

Podsumowanie

Dynamiczne zarządzanie Simple Queues za pomocą API MikroTik to potężne narzędzie dla administratorów, którzy potrzebują precyzyjnej i elastycznej kontroli pasma w swojej sieci. Dzięki połączeniu RouterOS, Python oraz systemów monitoringu możesz stworzyć inteligentną sieć, która automatycznie dostosowuje się do aktualnych warunków pracy i zapotrzebowania na pasmo.

 

Polecane wpisy
Konfiguracja IPv6 w Linux Debian i Ubuntu: Przewodnik krok po kroku
Konfiguracja IPv6 w Linux Debian i Ubuntu: Przewodnik krok po kroku

Konfiguracja IPv6 w Linux Debian i Ubuntu: Przewodnik krok po kroku IPv6 (Internet Protocol version 6) to najnowszy protokół internetowy, Czytaj dalej

Analiza podatności w popularnych systemach monitoringu sieci (Nagios, Zabbix)
Analiza podatności w popularnych systemach monitoringu sieci (Nagios, Zabbix)

🔍 Analiza podatności w popularnych systemach monitoringu sieci (Nagios, Zabbix) W dobie dynamicznego rozwoju infrastruktury IT, narzędzia do monitorowania sieci Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.