forked from kay/RouterOS
M8: Netzwerk-Isolation live verifiziert (manuell + über den Wizard)
Isolation zuerst manuell per SSH nachgebaut (ether5), danach über den
App-Wizard (Experte-Modus, ether4), um die eigentliche Abnahme-
Bedingung ("kompletter Wizard-Durchlauf") zu erfüllen. Dabei drei
App-Bugs gefunden und gefixt:
- Bug 22: neues LAN-/VLAN-Interface wurde nie der defconf-Interface-
Liste "LAN" hinzugefügt, wodurch DNS-Anfragen an den Router selbst
blockiert blieben (Werks-Firewall droppt Input von allem außerhalb
dieser Liste).
- Bug 23: ein voller Wizard-Durchlauf gegen einen bereits konfigurierten
Router brach am ersten nicht-idempotenten Add-Befehl ab
(/ip address, /ip pool, /ip dhcp-server, /ip dhcp-server network).
- Bug 24: ein als eigenes isoliertes Netz konfiguriertes Interface
blieb Bridge-"Slave" (Werks-Bridging), wodurch RouterOS die
generierten Isolationsregeln selbst als ungültig verwarf.
Alle drei in DhcpServerCommandBuilder/SetupViewModel gefixt, 52 Unit-
Tests grün, Isolation+DNS+Internet am echten Gerät bestätigt. M8 auf
live verifiziert gesetzt. Nebenbei zwei veraltete Doku-Stellen zum
Gitea-Remote korrigiert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDmUd93KxsYGr2kLTotWnG
This commit is contained in:
+39
@@ -696,3 +696,42 @@ Test, WLAN/Bonding/PPPoE-Live-Tests).
|
||||
(Bug 21, Nächste-Schritte Punkt 1 als "in Arbeit" markiert — der
|
||||
eigentliche M8-Isolationstest ist noch nicht zu Ende geführt, nächste
|
||||
Session dort fortsetzen) aktualisiert, Commit erstellt. Sitzung beendet.
|
||||
|
||||
## Session: M8 komplett live verifiziert (manuell + über die App)
|
||||
|
||||
- "wo waren wir stehen geblieben?" → Stand zusammengefasst, "weiter bei
|
||||
M8" (M5 kann mangels Hardware nicht getestet werden).
|
||||
- Nutzerfrage: Port 5 komplett isolieren, eigener DHCP-Server, trotzdem
|
||||
Internet — `mikrotik-setup.md` Szenario C traf exakt zu, Befehle
|
||||
gegeben. Danach mehrere Diagnoserunden am echten Router (SSH), jede
|
||||
ein eigener Konfigurationsfehler statt App-Bug: Adresse zuerst als
|
||||
`/32`, dann versehentlich als `.0`-Netzadresse statt `.1`-Host-Adresse
|
||||
eingetragen (Route fehlte); danach DNS-Anfragen an den Router liefen
|
||||
in Timeout, obwohl Lease+Route+Internet gingen — Ursache: `ether5`
|
||||
fehlte in der defconf-Interface-Liste "LAN", RouterOS' Werks-Firewall
|
||||
blockt Input von allem, was nicht in dieser Liste steht. Isolation
|
||||
danach per `/interface list`-basierter Forward-Drop-Regel gesetzt und
|
||||
beidseitig bestätigt (iMac ↔ Laptop erreichen sich nicht, Internet
|
||||
bleibt für beide).
|
||||
- "testen wir das nochmal über die App" → derselbe Test über den
|
||||
Wizard (Experte-Modus, `ether4`) wiederholt, um die eigentliche
|
||||
M8-Abnahmebedingung zu erfüllen. Dabei vorab zwei App-Bugs erkannt und
|
||||
gefixt, bevor überhaupt angewendet wurde: **Bug 22** (LAN/VLAN-Schritt
|
||||
fügt neues Interface nie der "LAN"-Liste hinzu — derselbe DNS-Bug wie
|
||||
eben, jetzt als App-Bug bestätigt) und **Bug 23** (voller
|
||||
Wizard-Durchlauf gegen bereits konfigurierten Router bricht am
|
||||
zweiten, nicht-idempotenten Befehl ab — Nutzer wählte "Idempotenz
|
||||
jetzt erweitern" statt nur Befehle zu verifizieren).
|
||||
- Nach Apply zeigte `/ip firewall filter print` zwei mit `I` (INVALID)
|
||||
markierte Isolationsregeln: `ether4` war noch Bridge-Slave (Werks-
|
||||
Bridging), RouterOS verwirft Interface-Matcher auf Slave-Ports selbst.
|
||||
**Bug 24** gefunden — Nutzer entfernte `ether4` manuell aus der
|
||||
Bridge, danach wurden die Regeln automatisch gültig; Fix (automatisches
|
||||
Lösen aus der Bridge vor Zuweisung) direkt im Wizard-Code ergänzt und
|
||||
getestet.
|
||||
- Alle Live-Tests am Ende erfolgreich (Lease, Gateway-Ping, DNS,
|
||||
Internet, Isolation gegen iMac/Laptop), 52 Unit-Tests grün. M8 als
|
||||
erster Milestone sowohl manuell als auch über die App selbst
|
||||
verifiziert. Nebenbei zwei veraltete Doku-Stellen korrigiert (Gitea-
|
||||
Remote existiert längst, war noch als "nicht vorhanden" dokumentiert).
|
||||
HANDOFF.md/README.md aktualisiert, Commit + Push.
|
||||
|
||||
Reference in New Issue
Block a user