MikroTik – Część 19: Automatyzacja infrastruktury MikroTik z wykorzystaniem Ansible i NetBox jako źródła prawdy
Sieci komputerowe

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

MikroTik – Część 19: Automatyzacja infrastruktury MikroTik z wykorzystaniem Ansible i NetBox jako źródła prawdy
MikroTik – Część 19: Automatyzacja infrastruktury MikroTik z wykorzystaniem Ansible i NetBox jako źródła prawdy

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.
Czytaj  VLAN – klucz do wydajnych, bezpiecznych i skalowalnych sieci lokalnych

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

  1. Dodaj nowy site, np. Warszawa.
  2. Wprowadź urządzenia MikroTik z przypisanym role, typem, interfejsami.
  3. Dodaj adresację IP, interfejsy, VLANy i przypisania portów.
  4. 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.

Czytaj  Jak skonfigurować router Wi-Fi w domu

 

Polecane wpisy
Konfiguracja MikroTik — Część 52: MikroTik jako Węzeł VPN Mesh — Integracja z WireGuard, BGP i Dynamicznym Routingiem
Konfiguracja MikroTik — Część 52: MikroTik jako Węzeł VPN Mesh — Integracja z WireGuard, BGP i Dynamicznym Routingiem

Konfiguracja MikroTik — Część 52: MikroTik jako Węzeł VPN Mesh — Integracja z WireGuard, BGP i Dynamicznym Routingiem Wprowadzenie W Czytaj dalej

Wyjaśnienie, czym jest IPv6 i dlaczego został wprowadzony
Wyjaśnienie, czym jest IPv6 i dlaczego został wprowadzony

Wyjaśnienie, czym jest IPv6 i dlaczego został wprowadzony Co to jest IPv6? IPv6 (Internet Protocol version 6) to najnowsza wersja 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.