MikroTik – kompleksowa konfiguracja sieci od podstaw do zaawansowanych rozwiązań. Część 16: Automatyzacja konfiguracji MikroTik z wykorzystaniem Ansible i API – praktyczne scenariusze
MikroTik – kompleksowa konfiguracja sieci od podstaw do zaawansowanych rozwiązań. Część 16: Automatyzacja konfiguracji MikroTik z wykorzystaniem Ansible i API – praktyczne scenariusze
W poprzedniej części serii skupiliśmy się na zaawansowanej konfiguracji VPN Site-to-Site z dynamicznym routingiem oraz monitorowaniem tuneli w środowisku MikroTik. Tym razem przejdziemy do tematu, który staje się coraz bardziej istotny w zarządzaniu sieciami — automatyzacji konfiguracji urządzeń MikroTik z wykorzystaniem nowoczesnych narzędzi takich jak Ansible oraz API MikroTik. Automatyzacja nie tylko przyspiesza wdrożenia, ale też minimalizuje błędy, ułatwia zarządzanie wieloma urządzeniami i pozwala na szybkie reagowanie na zmiany w infrastrukturze.
Dlaczego automatyzacja konfiguracji MikroTik?
Tradycyjna ręczna konfiguracja urządzeń sieciowych to czasochłonny i podatny na błędy proces, zwłaszcza gdy sieć składa się z wielu routerów i rozbudowanych reguł. Automatyzacja to sposób na:
- Skalowalność — łatwe wdrażanie zmian na dziesiątkach lub setkach urządzeń.
- Powtarzalność — uniknięcie rozbieżności w konfiguracji.
- Szybkie reagowanie — możliwość natychmiastowego wdrożenia poprawek i aktualizacji.
- Audyt i dokumentację — kod konfiguracji jest jawny i można go kontrolować w systemie kontroli wersji.
MikroTik posiada własne API, które umożliwia programistyczne zarządzanie urządzeniem. W połączeniu z Ansible — popularnym narzędziem automatyzacji — możemy tworzyć kompleksowe playbooki i skrypty automatyzujące praktycznie wszystkie aspekty konfiguracji.

Krok 1: Podstawy API MikroTik
API MikroTik jest protokołem komunikacyjnym pozwalającym na wysyłanie komend w trybie zdalnym i odbieranie odpowiedzi. W przeciwieństwie do SSH, API jest bardziej elastyczne i zoptymalizowane pod kątem automatyzacji.
Wymagania:
- Router MikroTik z włączonym serwerem API (
/ip service enable api). - Konto użytkownika z odpowiednimi uprawnieniami do wykonywania konfiguracji.
- Biblioteka klienta API, np.
librouterosw Pythonie.
Krok 2: Prosty skrypt Python do podstawowej konfiguracji
Poniżej przykład skryptu w Pythonie wykorzystującego bibliotekę librouteros do połączenia z MikroTik i dodania nowej trasy statycznej:
from routeros_api import RouterOsApiPool
connection = RouterOsApiPool('192.168.88.1', username='admin', password='twojehaslo', plaintext_login=True)
api = connection.get_api()
ip_route = api.get_resource('/ip/route')
ip_route.add(dst_address='10.10.10.0/24', gateway='192.168.88.254')
print("Trasa dodana pomyślnie")
connection.disconnect()
Ten prosty przykład ilustruje, jak można programowo dodać trasę i wykonać dowolne polecenie konfiguracyjne.
Krok 3: Ansible i MikroTik – jak zacząć?
Ansible to narzędzie do automatyzacji konfiguracji i zarządzania systemami, które korzysta z modułów i playbooków. Dla MikroTik istnieje dedykowany moduł mikrotik_routeros oraz możliwość wykorzystania połączenia API.
Przykładowy playbook do dodania VLAN i IP:
- name: Konfiguracja VLAN i IP na MikroTik
hosts: mikrotik_routers
gather_facts: no
connection: local
tasks:
- name: Dodaj VLAN 100 na interfejsie ether1
mikrotik_routeros:
host: "{{ inventory_hostname }}"
username: admin
password: twojehaslo
commands:
- /interface vlan add name=vlan100 vlan-id=100 interface=ether1
- /ip address add address=192.168.100.1/24 interface=vlan100
Ten playbook może być uruchamiany na wielu urządzeniach jednocześnie, zapewniając spójność konfiguracji.
Krok 4: Zaawansowane scenariusze automatyzacji
1. Zarządzanie regułami firewall
Automatyczne dodawanie, modyfikowanie i usuwanie reguł firewall pozwala reagować na zmieniające się zagrożenia lub potrzeby biznesowe.
2. Dynamiczne aktualizacje DNS i DHCP
Skrypty mogą integrować MikroTik z usługami DNS lub DHCP, np. aktualizować rekordy DNS na podstawie zmian w sieci lub automatycznie konfigurować serwery DHCP.
3. Backup konfiguracji i wersjonowanie
Regularne pobieranie konfiguracji i zapisywanie ich do repozytorium git umożliwia audyt i szybkie przywracanie stanu sieci.
Krok 5: Bezpieczeństwo i dobre praktyki
Automatyzacja wymaga zadbania o bezpieczeństwo:
- Używanie silnych haseł i ograniczanie dostępu.
- Szyfrowanie połączeń, np. przez VPN.
- Kontrola dostępu na poziomie API.
- Stosowanie systemów kontroli wersji i audytu zmian.
Podsumowanie
Automatyzacja konfiguracji MikroTik to krok milowy dla każdego administratora sieci, który chce działać efektywnie i profesjonalnie. Łącząc możliwości API MikroTik z potęgą Ansible i języka Python można tworzyć elastyczne, szybkie i powtarzalne procesy wdrożeń i zarządzania. To nie tylko oszczędność czasu, ale przede wszystkim stabilność i bezpieczeństwo sieci.
W kolejnych częściach serii zaprezentujemy przykłady zaawansowanych skryptów automatyzacji, integracji z systemami monitoringu oraz automatyczne reakcje na incydenty bezpieczeństwa.






