diff --git a/mikrotik-setup.md b/mikrotik-setup.md new file mode 100644 index 0000000..63151dc --- /dev/null +++ b/mikrotik-setup.md @@ -0,0 +1,133 @@ +# MikroTik RB750Gr3 (hEX) – Netzwerk-Konfiguration + +## Hardware-Basis + +- 5x Gigabit-Ethernet-Ports (alle frei konfigurierbar, kein festes WAN/LAN-Layout) +- Dual-Core CPU 880 MHz (MT7621A), 256 MB RAM, 16 MB Flash +- 1x USB-A, microSD-Slot +- Passive PoE-Eingang +- RouterOS Lizenzlevel 4 vorinstalliert + +Es gibt keine feste Obergrenze für die Anzahl der DHCP-Server – begrenzend wirkt praktisch nur der RAM und die Anzahl der Interfaces/VLANs. Pro Interface (physischer Port, Bridge oder VLAN) kann ein eigener DHCP-Server mit eigenem Pool und Network laufen. + +--- + +## Szenario A: Port 1 = WAN, Ports 2–5 = ein gemeinsames LAN mit einem DHCP-Server + +Alle vier LAN-Ports werden zu einer Bridge zusammengefasst, ein DHCP-Server versorgt sie gemeinsam. + +``` +/interface bridge add name=bridge-lan +/interface bridge port add bridge=bridge-lan interface=ether2 +/interface bridge port add bridge=bridge-lan interface=ether3 +/interface bridge port add bridge=bridge-lan interface=ether4 +/interface bridge port add bridge=bridge-lan interface=ether5 + +/ip address add address=192.168.88.1/24 interface=bridge-lan +/ip pool add name=lan-pool ranges=192.168.88.10-192.168.88.254 +/ip dhcp-server add name=lan-dhcp interface=bridge-lan address-pool=lan-pool +/ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 dns-server=192.168.88.1 + +/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade +``` + +Port 1 bleibt WAN (DHCP-Client oder statische IP vom Provider, kein eigener DHCP-Server nötig). + +--- + +## Szenario B: Jeder Port bekommt ein eigenes, getrenntes Netz + +Kein Bridging – jeder Port ist ein eigenständiges Layer-3-Interface mit eigenem Subnetz, eigenem Pool und eigenem DHCP-Server. + +``` +# Port 1 = WAN, unverändert (DHCP-Client oder statisch) + +# Port 2 +/ip address add address=192.168.2.1/24 interface=ether2 +/ip pool add name=pool2 ranges=192.168.2.10-192.168.2.254 +/ip dhcp-server add name=dhcp2 interface=ether2 address-pool=pool2 +/ip dhcp-server network add address=192.168.2.0/24 gateway=192.168.2.1 dns-server=192.168.2.1 + +# Port 3 +/ip address add address=192.168.3.1/24 interface=ether3 +/ip pool add name=pool3 ranges=192.168.3.10-192.168.3.254 +/ip dhcp-server add name=dhcp3 interface=ether3 address-pool=pool3 +/ip dhcp-server network add address=192.168.3.0/24 gateway=192.168.3.1 dns-server=192.168.3.1 + +# Port 4 und Port 5 analog mit 192.168.4.0/24 bzw. 192.168.5.0/24 + +/ip firewall nat add chain=srcnat out-interface=ether1 action=masquerade +``` + +### Netze voneinander isolieren (forward-chain) + +Ohne zusätzliche Firewall-Regel routet RouterOS standardmäßig zwischen allen Interfaces – die Netze könnten sich also gegenseitig erreichen. Isolation über eine Interface-Liste: + +``` +/interface list add name=LAN +/interface list member add list=LAN interface=ether2 +/interface list member add list=LAN interface=ether3 +/interface list member add list=LAN interface=ether4 +/interface list member add list=LAN interface=ether5 + +/ip firewall filter add chain=forward in-interface-list=LAN out-interface-list=LAN action=drop comment="Netze voneinander isolieren" +``` + +- Traffic zwischen zwei LAN-Ports (z. B. Port 2 → Port 3) wird geblockt. +- Traffic von einem LAN-Port zu ether1 (Internet) ist nicht betroffen, da ether1 nicht in der Liste steht. +- Regel-Reihenfolge beachten: Diese Drop-Regel sollte weit oben stehen, aber nach einer eventuellen `established,related,untracked`-Accept-Regel. +- Position prüfen/verschieben: +``` +/ip firewall filter print +/ip firewall filter move [find comment="Netze voneinander isolieren"] destination=1 +``` +- Für gezielte Ausnahmen (z. B. ein Gerät soll netzübergreifend erreichbar sein) eine passende Accept-Regel **vor** der Drop-Regel einfügen. + +--- + +## Szenario C: Einzelnen Port aus einer bestehenden Bridge herauslösen + +Ausgangslage: Alle Ports laufen aktuell gebridged. Ein Port (Beispiel: ether5) soll ein eigenes, unabhängiges Netz bekommen. + +1. **Port aus der Bridge entfernen** + ``` + /interface bridge port remove [find interface=ether5] + ``` + +2. **Eigene IP-Adresse für den Port vergeben** (Subnetz darf sich nicht mit Bridge- oder anderen Netzen überschneiden) + ``` + /ip address add address=192.168.5.1/24 interface=ether5 + ``` + +3. **DHCP-Pool anlegen** + ``` + /ip pool add name=pool5 ranges=192.168.5.10-192.168.5.254 + ``` + +4. **DHCP-Server einrichten** + ``` + /ip dhcp-server add name=dhcp5 interface=ether5 address-pool=pool5 + ``` + +5. **DHCP-Network definieren** (Gateway, DNS) + ``` + /ip dhcp-server network add address=192.168.5.0/24 gateway=192.168.5.1 dns-server=192.168.5.1 + ``` + +6. **Firewall/Isolation anpassen** – Port zur LAN-Liste hinzufügen, damit die bestehende Drop-Regel greift + ``` + /interface list member add list=LAN interface=ether5 + ``` + +7. **Konfiguration prüfen** + ``` + /interface bridge port print + /ip dhcp-server print + ``` + +### Stolperfallen + +- **IP-Konflikt vermeiden:** Neues Subnetz darf sich nicht mit Bridge-Netz oder anderen Netzen überschneiden. +- **Bridge-DHCP bleibt unberührt:** Der bestehende DHCP-Server auf der Bridge läuft für die verbleibenden Ports unverändert weiter. +- **Geräte am herausgelösten Port** bekommen beim nächsten Lease eine neue IP aus dem neuen Netz – ggf. kurz neu verbinden lassen. +- Physisch ändert sich nichts am Port, er ist nur logisch nicht mehr Teil der Bridge.