Konfiguracja Interfaces

Konfiguracja Interfaces

Dokumentacja opisuje zarządzanie interfejsami sieciowymi w routerach MikroTik z wykorzystaniem RouterOS oraz OpenTofu w podejściu Infrastructure as Code (IaC).

Celem tej sekcji jest ujednolicenie oraz pełna automatyzacja konfiguracji interfejsów sieciowych w infrastrukturze RouterOS. Dokumentacja obejmuje:

  • porty Ethernet,
  • interfejsy Bonding (LACP),
  • mosty logiczne Bridge,
  • sieci wirtualne VLAN.

Każdy typ interfejsu:

  • jest zarządzany przez dedykowany moduł OpenTofu,
  • posiada własny katalog konfiguracyjny,
  • może być wersjonowany i audytowany w systemie kontroli wersji.

1. Struktura katalogów

Konfiguracja interfejsów znajduje się w:

router.rachuna-net.pl/interfaces/
├── ethernet/
├── bonding/
├── bridge/
└── vlan/

Zasada organizacyjna:

✅ jeden plik = jedna logiczna konfiguracja ✅ brak konfiguracji w GUI ✅ pełna powtarzalność konfiguracji


2. Konfiguracja Ethernet

Pliki znajdują się w:

router.rachuna-net.pl/interfaces/ethernet/*.tf

Przykładowa konfiguracja

module "ethernet_ether1" {
  source = "git@gitlab.rachuna-net.pl:pl.rachuna-net/infrastructure/opentofu/modules/routeros-ethernet.git?ref=v1.0.0"

  name         = "ether1"
  mtu          = 1500
  arp          = "enabled"
  poe_out      = "off"
  disabled     = false
  dhcp_client  = false
  addresses    = ["192.0.2.1/24"]  # lub puste, jeśli tylko do bridge/bonding
}

Znaczenie parametrów

Parametr Opis
name Nazwa fizycznego portu
mtu Rozmiar ramki
arp Obsługa ARP
poe_out Zasilanie PoE
disabled Włączenie/wyłączenie portu
dhcp_client Czy uruchomić klienta DHCP
addresses Adresy IP przypisane do portu

3. Bonding – agregacja łączy (LACP)

Pliki znajdują się w:

interfaces/bonding/*.tf

Przykład (tryb LACP – 802.3ad):

module "bonding_storage" {
  source = "git@gitlab.rachuna-net.pl:pl.rachuna-net/infrastructure/opentofu/modules/routeros-bonding.git?ref=v1.0.0"

  name      = "bond-storage"
  mode      = "802.3ad"
  slaves    = ["ether2", "ether3"]
  lacp_rate = "1sec"
  arp       = "enabled"
  comment   = "storage uplink"
}

Znaczenie parametrów

Parametr Opis
name Nazwa interfejsu logicznego
mode Tryb pracy (np. 802.3ad)
slaves Lista portów fizycznych
lacp_rate Częstotliwość LACP
arp Obsługa ARP
comment Opis administracyjny

4. Bridge

Pliki znajdują się w:

interfaces/bridge/*.tf

Przykład:

module "bridge_clients" {
  source = "git@gitlab.rachuna-net.pl:pl.rachuna-net/infrastructure/opentofu/modules/routeros-bridge.git?ref=v1.0.0"

  name     = "br-clients"
  comment  = "bridge klientów"
  ageing   = 300
  protocol_mode = "rstp"
  ports = [
    { interface = "ether4", pvid = 10 },
    { interface = "ether5", pvid = 10 }
  ]
}

Znaczenie parametrów

Parametr Opis
name Nazwa bridge
comment Opis
ageing Czas życia wpisów MAC
protocol_mode Tryb STP
ports Lista portów wraz z PVID

4. VLAN – sieci logiczne

Pliki znajdują się w:

interfaces/vlan/*.tf

Przykład:

module "vlan_vms_internal" {
  source = "git@gitlab.rachuna-net.pl:pl.rachuna-net/infrastructure/opentofu/modules/routeros-vlan.git?ref=v1.0.0"

  name        = "vlan-vms-int"
  interface   = "bond-storage"   # trunk/bond/ether/bridge
  vlan_id     = 20
  arp         = "enabled"
  mtu         = 1500
  loop_protect = false
  comment     = "VLAN VMs internal"
}

Znaczenie parametrów

Parametr Opis
name Nazwa interfejsu VLAN
interface Interfejs nadrzędny
vlan_id Identyfikator VLAN
arp Obsługa ARP
mtu MTU
loop_protect Ochrona przed pętlą
comment Opis sieci

5. Kolejność wdrażania konfiguracji

Zalecana kolejność:

  1. Ethernet
  2. Bonding
  3. Bridge
  4. VLAN

Zapobiega to błędom zależności i brakującym interfejsom

Last modified December 19, 2025: docs: Update (72bba37)