MikroTik – Część 19: Automatyzacja infrastruktury MikroTik z wykorzystaniem Ansible i NetBox jako źródła prawdy
MikroTik – kompleksowa konfiguracja sieci od podstaw do zaawansowanych rozwiązań
Część 19: Automatyzacja infrastruktury MikroTik z wykorzystaniem Ansible i NetBox jako źródła prawdy
W poprzednich częściach skupialiśmy się na manualnej i częściowo zautomatyzowanej konfiguracji urządzeń MikroTik, w tym na routingu dynamicznym z OSPF i BGP. Teraz nadszedł moment, by wynieść zarządzanie infrastrukturą na jeszcze wyższy poziom — pełnej automatyzacji z wykorzystaniem narzędzi klasy infrastruktury jako kodu (IaC). W tej części przedstawiamy praktyczne podejście do zautomatyzowanego zarządzania urządzeniami MikroTik z pomocą Ansible i NetBox jako źródła prawdy (SoT).

Dlaczego automatyzacja?
Współczesna infrastruktura sieciowa wymaga szybkiej skalowalności, spójności i bezbłędności. Manualna konfiguracja dziesiątek, a czasem setek urządzeń, nie tylko jest czasochłonna, ale i narażona na błędy. Automatyzacja pozwala na:
- powtarzalność procesów konfiguracyjnych,
- szybsze wdrożenia i zmiany,
- dokumentację „żyjącą” w formie kodu,
- integrację z CI/CD i narzędziami DevOps,
- korelację konfiguracji z aktualnym stanem fizycznym i logicznym infrastruktury (NetBox).
NetBox jako Source of Truth
NetBox to nowoczesna aplikacja webowa służąca do dokumentowania sieci, w tym:
- adresacji IP,
- topologii logicznej i fizycznej,
- relacji między urządzeniami,
- VLANów i VRF,
- i wielu innych komponentów.
Jest to nie tylko dokumentacja, ale również źródło, z którego możemy programowo generować konfiguracje i przekazywać dane do narzędzi automatyzujących – np. Ansible.
Ansible + MikroTik – architektura rozwiązania
Ansible obsługuje MikroTik poprzez protokół API (APIv1 i APIv2) oraz SSH. Najnowsze moduły społecznościowe pozwalają na:
- pobieranie i stosowanie konfiguracji,
- tworzenie reguł firewall,
- zarządzanie interfejsami, routingiem, mostami, VLANami,
- automatyczne backupy i rollbacki,
- audyt spójności konfiguracji.
Wymagane komponenty:
- NetBox (np. zainstalowany na VM lub kontenerze Docker),
- Ansible z pluginem
netbox_inventory, - Python +
pynetbox, - MikroTik z włączonym API i/lub SSH.
Przykład pełnego pipeline’u
Krok 1: Modelowanie infrastruktury w NetBox
- Dodaj nowy site, np.
Warszawa. - Wprowadź urządzenia MikroTik z przypisanym role, typem, interfejsami.
- Dodaj adresację IP, interfejsy, VLANy i przypisania portów.
- Wygeneruj token API do odczytu danych.
Krok 2: Konfiguracja netbox_inventory w Ansible
plugin: netbox
api_endpoint: http://netbox.local/api/
token: 0123456789abcdef
group_by:
- site
- role
Krok 3: Tworzenie playbooka
- name: Skonfiguruj MikroTik
hosts: all
gather_facts: no
tasks:
- name: Konfiguruj hostname
community.routeros.command:
commands:
- /system identity set name={{ inventory_hostname }}
- name: Konfiguracja adresacji IP
community.routeros.command:
commands:
- /ip address add address={{ ansible_host }}/24 interface=ether1
- name: Konfiguracja routingu
community.routeros.command:
commands:
- /ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1
Krok 4: Synchronizacja danych z NetBox
Za pomocą pynetbox lub gotowych pluginów Ansible dane takie jak adresy IP, VLANy czy interfejsy są automatycznie pobierane z NetBox i wstrzykiwane do konfiguracji.
Best practices
- Zawsze testuj zmiany w środowisku stagingowym lub na maszynach wirtualnych.
- Stosuj dry-run (
--check) przed faktyczną modyfikacją konfiguracji. - Zabezpiecz API NetBox za pomocą tokenów i HTTPS.
- Utrzymuj spójność nazw hostów w NetBox i DNS.
- Stosuj wersjonowanie plików YAML (git) i wprowadzaj CI/CD dla zmian w playbookach.
Wdrożenie realne – case study
Przykład: średnia firma z 30 lokalizacjami, każda z MikroTik RB4011. Wdrożenie NetBox umożliwiło automatyczne uzupełnianie szkieletu danych, a następnie generowanie pełnej konfiguracji IP, routingu i firewalli w oparciu o typ lokalizacji (biuro, magazyn, data center).
W ciągu jednego dnia zautomatyzowano:
- provisioning urządzeń,
- zmianę prefiksu w całej sieci,
- migrację reguł firewall,
- backup przed i po każdej zmianie.
Co dalej?
W kolejnej części przedstawimy integrację NetBox + Ansible + GitOps z użyciem GitLab CI do pełnego zarządzania zmianą w konfiguracji MikroTik. Pokażemy także audyt i automatyczne rollbacki w razie niezgodności.






