Konfiguracja Interfaces
4 minute read
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)
Bonding (Link Aggregation)
Bonding to mechanizm łączenia kilku fizycznych interfejsów sieciowych w jeden logiczny interfejs, którego celem jest:
- zwiększenie przepustowości łącza,
- zapewnienie redundancji połączenia,
- poprawa dostępności infrastruktury sieciowej.
W systemie RouterOS bonding realizowany jest na poziomie sterownika sieciowego i działa w warstwie L2 (Data Link Layer) modelu OSI.
Cele stosowania bondingu Bonding znajduje zastosowanie wszędzie tam, gdzie wymagane są:
- ✅ wysokie przepustowości (uplinki, storage, serwery),
- ✅ odporność na awarie pojedynczego portu,
- ✅ równoważenie ruchu sieciowego,
- ✅ konsolidacja wielu łączy w jeden kanał logiczny.
Typowe przypadki użycia:
- połączenia do macierzy dyskowych,
- uplinki do switchy rdzeniowych,
- połączenia router–serwer,
- trunk pod VLAN dla wirtualizacji.
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
Most sieciowy (Bridge)
Bridge to logiczny przełącznik sieciowy warstwy drugiej (L2 – Data Link Layer), który łączy wiele interfejsów sieciowych w jedną wspólną domenę rozgłoszeniową (broadcast domain). W systemie RouterOS bridge pełni rolę wirtualnego switcha programowego.
Bridge umożliwia:
- przełączanie ramek na podstawie adresów MAC,
- łączenie wielu portów fizycznych w jedną sieć logiczną,
- obsługę VLAN,
- kontrolę topologii przez protokoły STP / RSTP / MSTP.
Główne zadania bridge
Bridge odpowiada za:
-
✅ przełączanie ruchu między portami LAN,
-
✅ budowanie segmentów sieci warstwy drugiej,
-
✅ rozdział ruchu pomiędzy VLAN,
-
✅ integrację:
- Ethernet,
- bonding,
- VLAN,
- interfejsów wirtualnych.
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
VLAN (Virtual Local Area Network)
VLAN (Virtual Local Area Network) to mechanizm logicznego podziału jednej fizycznej infrastruktury sieciowej na wiele odseparowanych sieci warstwy drugiej (L2). Dzięki VLAN możliwe jest tworzenie niezależnych segmentów sieci bez konieczności stosowania osobnych urządzeń fizycznych.
W systemie RouterOS VLAN realizowany jest jako wirtualny interfejs przypisany do istniejącego interfejsu fizycznego, bondingu lub bridge.
Główne cele stosowania VLAN
VLAN stosuje się w celu:
- ✅ separacji ruchu sieciowego,
- ✅ zwiększenia bezpieczeństwa,
- ✅ segmentacji infrastruktury,
- ✅ ograniczenia rozgłoszeń (broadcast),
- ✅ logicznego podziału sieci według przeznaczenia.
Typowe zastosowania:
- VLAN dla użytkowników,
- VLAN dla serwerów i maszyn wirtualnych,
- VLAN dla storage,
- VLAN dla Wi-Fi,
- VLAN dla zarządzania (management).
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ść:
- Ethernet
- Bonding
- Bridge
- VLAN
Zapobiega to błędom zależności i brakującym interfejsom