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

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
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.






