TP1 ✅ ALLNET Core-Switch finalisiert: VLAN 40→MEDIA, VLAN 50 UNTRUSTED, GE8 Trunk verifiziert
- Neues CLI-Script 04-vlan50-media-untrusted.cli ausgeführt + verifiziert: VLAN 40 umbenannt UNTRUSTED→MEDIA, VLAN 50 angelegt (UNTRUSTED), GE1/GE2 um VLAN 50 ergänzt; GE8 war bereits Trunk, VLAN 50 auto-includiert. - Docs: teilprojekte.md TP1 als FERTIG markiert, Ist-Stand aktualisiert, VLAN-Gotcha entfernt. core-switch-prep.md Phase A/TP1 Stand ergänzt, Switch-IP .239→.11 korrigiert. CLAUDE.md Gotcha aktualisiert, IP korrigiert. - CLI-REFERENCE.md: VLAN-Namen 40=MEDIA, 50=UNTRUSTED. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,7 @@ GW je VLAN = `.1` · APs: ap1=`.1`, ap2=`.2` · Switches: ALLNET=`.11`, Omada=`.
|
||||
## Hardware & Zugang
|
||||
| Gerät | IP | Zugang |
|
||||
|---|---|---|
|
||||
| ALLNET Core-Switch (sw1) | 10.40.41.239 (interim) | `telnet 10.40.41.239` · User: `claudecode` · PW: `switch/.secrets` |
|
||||
| ALLNET Core-Switch (sw1) | 10.40.41.11 (interim, VLAN1) | `telnet 10.40.41.11` · User: `claudecode` · PW: `switch/.secrets` |
|
||||
| hAP ax² #1 (ap1) | 10.40.41.1 | MikroMCP (live) |
|
||||
| hAP ax² #2 (ap2) | 10.40.41.2 | MikroMCP (live) |
|
||||
| NAS (nas-bf) | 10.40.41.10 | SSH |
|
||||
@@ -50,6 +50,6 @@ GW je VLAN = `.1` · APs: ap1=`.1`, ap2=`.2` · Switches: ALLNET=`.11`, Omada=`.
|
||||
- **ALLNET: nur 1 Telnet-VTY** — stale Sessions blockieren ~15 min. Sauber ausloggen (`exit exit`), nie hammern.
|
||||
- **`save` nicht vergessen** nach ALLNET-Änderungen (sonst nach Reboot weg).
|
||||
- **hAP ax² hat 128 MB Flash, kein USB** → Container NICHT auf dem Router; Container laufen auf NAS/pve.
|
||||
- **ALLNET vlan40 heißt noch UNTRUSTED (alt)** — beim nächsten Switch-Schritt umbenennen zu MEDIA + vlan50 anlegen.
|
||||
- **ALLNET VLAN-DB final (TP1 ✅):** 40=MEDIA, 50=UNTRUSTED; GE1/GE2/GE8 alle als Trunk mit 10/20/30/40/50/90/99/100.
|
||||
- **Mesh = NEIN** (beide APs haben wired Trunk-Uplink → Loop-Risiko).
|
||||
- mgmt-VLAN-Wechsel am Switch = Lockout-Risiko: VLAN muss existieren + Port muss es tragen, in einem Schritt.
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
# Klickanleitung — ALLNET GE8 von Hybrid → Trunk (R0)
|
||||
|
||||
> ✅ **STATUS (TP1 abgeschlossen 2026-06-15):** GE8 ist bereits als Trunk konfiguriert.
|
||||
> Erkennbar daran, dass neue VLANs (50) automatisch auf gi8 erscheinen, wenn sie angelegt werden —
|
||||
> typisches Trunk-Verhalten auf diesem Switch. VLAN-Liste 10/20/30/40/50/90/99/100 tagged, native VLAN 1.
|
||||
> Diese Anleitung bleibt als Referenz/Verifikation erhalten.
|
||||
|
||||
**Gerät:** ALLNET ALL-SG8316M, `http://10.40.41.11` (FW 2.2.1). **Du klickst** (deine Creds).
|
||||
**Ziel:** Port **GE8** (Uplink zum Omada-Switch) wird ein sauberer Trunk — **genau wie GE1/GE2** (deine bestehenden AP-Trunks).
|
||||
|
||||
## Zielzustand GE8
|
||||
- **Mode:** `Trunk` (aktuell noch `Hybrid`)
|
||||
- **Mode:** `Trunk` (✅ bereits aktiv)
|
||||
- **Native / PVID:** VLAN **1** (untagged)
|
||||
- **Tagged VLANs:** **10, 20, 30, 40, 90, 99, 100**
|
||||
- **Tagged VLANs:** **10, 20, 30, 40, 50, 90, 99, 100**
|
||||
|
||||
## Schritte
|
||||
1. **Login** Web-UI `http://10.40.41.11`.
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# Core-Switch ALL-SG8316M — Vorbereitung & Status
|
||||
|
||||
> Stand: **2026-06-09** — Phase A (VLAN-Vorbereitung) abgeschlossen.
|
||||
> Phase B (hAP-Cutover) wartet auf die MikroTik hAP ax².
|
||||
> Vollständige Übergabe/Architektur: `HANDOVER.md` im Repo-Root.
|
||||
> Stand: **2026-06-15** — TP1 abgeschlossen: VLAN-DB komplett (inkl. 40=MEDIA, 50=UNTRUSTED), GE1/GE2/GE8 Trunk mit allen VLANs.
|
||||
> Phase B (hAP-Cutover = TP4) steht aus.
|
||||
> CLI-Referenz: `switch/cli/CLI-REFERENCE.md`.
|
||||
|
||||
Switch: **ALLNET ALL-SG8316M**, 16× Gigabit, Smart-Managed. **FW 2.2.1.2956** (geflasht am 2026-06-08 von 1.0/2014).
|
||||
Mgmt-IP: **10.40.41.239** (statisch, im MAIN-Subnetz bis zum Cutover → wandert nach vlan99/10.40.99.2).
|
||||
Mgmt-IP: **10.40.41.11** (statisch, VLAN1, interim bis Cutover → wandert nach vlan99/10.40.99.11).
|
||||
Login: `claudecode` (Creds in `switch/.secrets`).
|
||||
|
||||
## 0. Capability-Check (verifiziert)
|
||||
@@ -33,8 +32,9 @@ Siehe `docs/vlan-plan.md` für die ausführliche Version mit Begründungen.
|
||||
| 10 | MAIN | 10.40.10.0/24 | **10.40.41.0/24** | Trusted-Clients + Media (Discovery!) |
|
||||
| 20 | INFRA | 10.40.20.0/24 | 172.x | Server, VMs, Docker, NAS, HA |
|
||||
| 30 | IOT | 10.40.30.0/24 | — | Smart-Home (HA-managed) |
|
||||
| 40 | UNTRUSTED | 10.40.40.0/24 | — | Spielekonsole, Low-Trust-Internet |
|
||||
| 90 | GUEST | 10.40.90.0/24 | — | nur Internet (abgesetzt; 50–89 frei) |
|
||||
| **40** | **MEDIA** | 10.40.40.0/24 | — | **Sonos, AppleTV, TV, VuPlus, Cast-Ziele** |
|
||||
| **50** | **UNTRUSTED** | 10.40.50.0/24 | — | **Spielekonsole, eBook-Reader, Low-Trust** |
|
||||
| 90 | GUEST | 10.40.90.0/24 | — | nur Internet (abgesetzt) |
|
||||
| 99 | MGMT | 10.40.99.0/24 | Switch vorerst .239 | Switch/AP/Hypervisor-Mgmt |
|
||||
| 100 | WAN | (FB-Transfer) | — | zur Fritzbox |
|
||||
| 1 | default | — | aktuell alle Ports untagged | Lifeboat bis Cutover |
|
||||
@@ -62,15 +62,18 @@ Siehe `docs/vlan-plan.md` für die ausführliche Version mit Begründungen.
|
||||
|
||||
> ⚠️ **Port-Map noch nicht final** — wird beim Cutover ausgefüllt, abhängig von hAP-Standorten.
|
||||
|
||||
## 3. Phase A (VLAN-Vorbereitung) — ✅ ABGESCHLOSSEN 2026-06-09
|
||||
## 3. Phase A (VLAN-Vorbereitung) — ✅ ABGESCHLOSSEN 2026-06-09 | TP1 ergänzt 2026-06-15
|
||||
|
||||
Alles hier änderte **nichts** am laufenden Flach-Netz (FB blieb Gateway, alle Live-Ports blieben VLAN1 untagged).
|
||||
|
||||
1. ✅ **Config-Backup:** `show running-config` → `switch/cli/running-PRE.txt` (Netzmasken-Syntax `mask 255.255.255.0` bestätigt)
|
||||
2. ✅ **Firmware-Update:** 1.0 (2014) → 2.2.1.2956 (2018). Details: `docs/firmware-flash-runbook.md`
|
||||
3. ✅ **VLAN-DB angelegt + benannt:** 10=MAIN, 20=INFRA, 30=IOT, 40=UNTRUSTED, 90=GUEST, 99=MGMT, 100=WAN. **Alle Static, keine Port-Membership → null Disruption.**
|
||||
4. ✅ **Save** (Success), `show vlan` verifiziert.
|
||||
5. ✅ CLI-Reference (`switch/cli/CLI-REFERENCE.md`) mit bestätigter Syntax aktualisiert.
|
||||
3. ✅ **VLAN-DB angelegt + benannt:** 10=MAIN, 20=INFRA, 30=IOT, 40=MEDIA, 50=UNTRUSTED, 90=GUEST, 99=MGMT, 100=WAN. Alle Static, saved.
|
||||
- Initial (2026-06-09): VLANs 10/20/30/40/90/99/100, VLAN 40 hieß noch UNTRUSTED.
|
||||
- TP1 (2026-06-15, `switch/cli/04-vlan50-media-untrusted.cli`): VLAN 40 → MEDIA, VLAN 50 UNTRUSTED angelegt, GE1/GE2 um VLAN 50 ergänzt.
|
||||
4. ✅ **GE1/GE2 (AP-Trunks):** Trunk native vlan1, tagged 10/20/30/40/50/90/99/100. CLI `03-trunk-ap-ports.cli` (initial) + `04-vlan50-media-untrusted.cli` (VLAN 50 add).
|
||||
5. ✅ **GE8 (Omada-Uplink):** Trunk native vlan1, tagged 10/20/30/40/50/90/99/100. Bereits aktiv; VLAN 50 automatisch includiert (Trunk-Behavior). Klickanleitung: `docs/allnet-ge8-trunk-klickanleitung.md`.
|
||||
6. ✅ **Save** (Success), `show vlan` verifiziert. CLI-Reference aktualisiert.
|
||||
|
||||
**Reproduzierbar:**
|
||||
```bash
|
||||
|
||||
@@ -16,10 +16,9 @@
|
||||
| 99 | MGMT | 10.40.99.0/24 | Switch/AP/Hypervisor-Mgmt |
|
||||
| 100 | WAN | (FB-Transfer) | zur FritzBox |
|
||||
IP-Blöcke: `.1–10` Router/APs (ap1=.1, ap2=.2) · `.11–20` Switches (ALLNET=.11, Omada=.12). GW je VLAN = `.1`.
|
||||
⚠️ Switch-VLAN-DB trägt noch **40=UNTRUSTED** (alt) und **kein 50** → beim Switch-Schritt umbenennen + vlan50 anlegen.
|
||||
|
||||
## Ist-Stand (Kurz)
|
||||
ALLNET-Core `.11` (FW2.2.1, VLANs 10/20/30/40/90/99/100 benannt; GE8→Trunk in Arbeit). Omada-Switch `.12` (Standalone, Creds `omada/.secrets`).
|
||||
ALLNET-Core `.11` (FW2.2.1, VLANs 10/20/30/40/50/90/99/100; GE1/GE2/GE8 Trunk; **TP1 ✅ 2026-06-15**). Omada-Switch `.12` (Standalone, Creds `omada/.secrets`).
|
||||
2× hAP ax² (7.23.1): ap1 `.1` (Core P1), ap2 `.2` (Core P2 — **bleibt vorerst**). FB6660 = Router/Telefon (`.254`).
|
||||
Kontrolle: MikroMCP (MikroTik) live · ALLNET = Klickanleitungen (inline) · Omada → Controller (TP2).
|
||||
> ⚠️ **HW-Constraint hAP ax²:** 1 GB RAM, aber nur **128 MB Flash + KEIN USB** → **Container auf dem Router NICHT praktikabel**.
|
||||
@@ -29,9 +28,12 @@ Kontrolle: MikroMCP (MikroTik) live · ALLNET = Klickanleitungen (inline) · Oma
|
||||
|
||||
## Teilprojekte
|
||||
|
||||
### TP1 — ALLNET Core-Switch finalisieren ▸ läuft
|
||||
- **GE8 Hybrid→Trunk** (Omada-Uplink): native vlan1 + tagged 10,20,30,40,90,99,100 → Klickanleitung, User klickt. Danach: vlan40 umbenennen MEDIA, **vlan50 (UNTRUSTED) anlegen**, GE8 um 50 ergänzen.
|
||||
- Abh.: keine. Ergebnis: Core trägt alle VLANs an P1/P2/P8.
|
||||
### TP1 — ALLNET Core-Switch finalisieren ▸ ✅ FERTIG (2026-06-15)
|
||||
- ✅ GE8 Trunk (native vlan1, tagged 10/20/30/40/50/90/99/100) — war bereits aktiv.
|
||||
- ✅ VLAN 40 umbenannt: UNTRUSTED → **MEDIA** (`switch/cli/04-vlan50-media-untrusted.cli`).
|
||||
- ✅ VLAN 50 angelegt + benannt: **UNTRUSTED**.
|
||||
- ✅ GE1/GE2 (AP-Trunks) um VLAN 50 ergänzt; GE8 auto-includiert (Trunk).
|
||||
- Ergebnis: Core trägt alle VLANs (10/20/30/40/50/90/99/100) an P1/P2/P8.
|
||||
|
||||
### TP2 — Omada Access-Switch + Controller ▸ als Nächstes
|
||||
- **Omada Software Controller als Container auf DS923 (BF)** → Switch `.12` adoptieren → Uplink/ap2-Port=Trunk(all), lokale=Access. Dann **omada-mcp** (realtydev) an Controller.
|
||||
|
||||
23
switch/cli/04-vlan50-media-untrusted.cli
Normal file
23
switch/cli/04-vlan50-media-untrusted.cli
Normal file
@@ -0,0 +1,23 @@
|
||||
# === BF Core-Switch sw1 (ALL-SG8316M, FW 2.2.1) — VLAN 40→MEDIA + VLAN 50 UNTRUSTED ===
|
||||
# Reproduzierbar: . switch/.secrets && expect switch/cli/run-cli.exp switch/cli/04-vlan50-media-untrusted.cli
|
||||
# NON-DISRUPTIV:
|
||||
# - VLAN 40 wird nur umbenannt (kein Port-Eingriff, Membership bleibt identisch)
|
||||
# - VLAN 50 wird angelegt + benannt (noch kein Port-Member → kein Traffic betroffen)
|
||||
# - GE1 + GE2 (AP-Trunks) bekommen VLAN 50 als tagged hinzu (kein Gerät nutzt VLAN 50 noch)
|
||||
# Ergebnis: VLAN-DB korrekt (40=MEDIA, 50=UNTRUSTED), AP-Trunks bereit für künftige UNTRUSTED-SSID.
|
||||
configure
|
||||
vlan 40
|
||||
name MEDIA
|
||||
exit
|
||||
vlan 50
|
||||
name UNTRUSTED
|
||||
exit
|
||||
interface gi1
|
||||
switchport trunk allowed vlan add 50
|
||||
exit
|
||||
interface gi2
|
||||
switchport trunk allowed vlan add 50
|
||||
exit
|
||||
end
|
||||
save
|
||||
show vlan
|
||||
@@ -37,7 +37,7 @@ Tooling (macOS): `telnet` (/opt/homebrew/bin) + `expect`. Python 3.14 hat KEIN t
|
||||
```
|
||||
- ⚠️ **`end` aus config-vlan geht DIREKT zu sw1#** (überspringt config-Ebene) — also `exit` benutzen, nicht `end`, wenn man weitere VLANs bearbeiten will.
|
||||
- Befehle im config-vlan: `do` (exec-Befehle), `end`/`exit` (raus), `name` (Name setzen).
|
||||
- Aktuelle Namen: 10=MAIN, 20=INFRA, 30=IOT, 40=UNTRUSTED, 90=GUEST, 99=MGMT, 100=WAN.
|
||||
- Aktuelle Namen: 10=MAIN, 20=INFRA, 30=IOT, 40=MEDIA, 50=UNTRUSTED, 90=GUEST, 99=MGMT, 100=WAN.
|
||||
|
||||
## Ports (gi1-16, lag1-8) — Trunk/Access (für Cutover)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user