Files
bf-infra/switch/sg8316m-cgi-map.md

62 lines
3.3 KiB
Markdown

# ALL-SG8316M — dispatcher.cgi API-Map (Recon 2026-06-05)
> ⚠️ **VERALTET — nur FW 1.0.** Switch ist auf **FW 2.2.1** geflasht; die Web-UI/cmd-Codes hier gelten
> NICHT mehr (cmd=2 → 404). Konfiguration jetzt via **Telnet-CLI** → `switch/cli/` (run-cli.exp + .cli).
> Dieses Dokument bleibt nur als Historie.
Switch: **10.40.41.239** · Web-UI: Realtek **`/cgi-bin/dispatcher.cgi?cmd=<N>`** · `Server: Hydra/0.1.8` (FW-Basis 2014).
Reine **CGI/Form-POST**-UI (kein JS-SPA) → **vollständig per `curl` skriptbar**. Von diesem Mac direkt erreichbar (~7 ms),
ebenso vom Mac mini (10.40.41.167). **Kein SSH** am Switch; **Telnet** existiert als Option (cmd=534), aber curl ist sauberer.
> ⚠️ Auth-Hinweis: Unauthentifizierte GETs liefern bereits Config-Seiten (bekannte Schwäche dieser Realtek-dispatcher.cgi-Boxen).
> Login-Mechanik vor Schreibzugriff verifizieren. **Konsequenz fürs Design:** Mgmt strikt auf vlan10/restricted halten,
> EOL-Gerät (2014) nie Richtung WAN exponieren.
## Befehlscodes (aus Menü cmd=2 extrahiert)
### 🎯 Für R6-Config gebraucht
| cmd | Seite | Zweck |
|---|---|---|
| **1282** | Create VLAN | VLANs 10/20/30/40/100 anlegen |
| **1289** | Interface Settings | Port-Modus (Access/Trunk/Hybrid) + PVID |
| **1291** | Port to VLAN | VLAN↔Port-Matrix |
| **1293** | Port VLAN Membership | tagged/untagged je Port |
| **1297** | Management VLAN | Mgmt-VLAN 1→10 (Cutover) |
| **517** | IP Address | Switch-Mgmt-IP (Ziel 10.40.41.2) |
| **524** | Account Manager | eigenen User anlegen |
| **534/537/539** | Telnet/HTTP/HTTPS | Zugangsdienste |
### 🔧 Maintenance
| cmd | Seite |
|---|---|
| 4361 | Backup Manager (User: Export defekt → wir scrapen stattdessen, s.u.) |
| 4363 | Upgrade Manager (**Firmware**) |
| 4358 | Configuration Manager / Save-to-Flash |
| 524 | Account Manager |
### ⛔ NICHT aufrufen (destruktiv/disruptiv)
| cmd | Wirkung |
|---|---|
| 4352 | **Reboot** |
| 4354 | **Factory Default / Restore Defaults** |
| 4358 | Save to FLASH — nur bewusst am Ende eines Config-Laufs |
### Weitere (Referenz)
Status 512(SysInfo) 3848(Log) · Port 779/774/1031/4619/1814 · Net 517/519/1297 · Time 541/543 ·
Switching 768(Port) 2048(Mirror) · LAG 1024/1026/1032/1034/1036 · VoiceVLAN 1536/1538/1543 3328(EEE) ·
Multicast 1792 · IGMP 1802/1806/1797/1796/1808 3072(Jumbo) · STP 4096/4098/4100/4102/4108 ·
MAC 2311/2309/2304 · Security: Storm 3586/3584 772(Protected) DoS 4864/4866 · Access 534/537/539 ·
QoS 2560/2562/2564/2566/2568/2570 Basic 2572/2574 RateLimit 3588/3590/3592 ·
LLDP 4608/4610/4617/4614/4621 · SNMP 2816/2818/2821 · Diag 5120/527/530 · Logging 3840/3842/3844 ·
Maint 4361/4363/4358/524 4354/4352.
## „Backup" trotz defektem Export
User: Config-Import/Export der FW ist kaputt. **Kein Blocker:** Wir GETten jede Config-Seite per curl in Textdateien
(`switch/state-PRE/*.html`) → **git-versionierter, menschenlesbarer Ist-Zustand** statt opaker Binär-Blob. Restore =
gezielte CGI-POSTs (nicht Blob-Reupload). Damit ist der Vorgang reproduzierbar + diff-bar.
## Skript-Plan (statt MCP)
`switch/sg8316m.sh` (bash+curl) oder `.py` (requests): login→Session-Cookie → State-Scrape (PRE) →
VLANs anlegen (1282) → Interface/Membership (1289/1293) → optional Mgmt-VLAN/IP (1297/517) → Save (4358).
Idempotent, dry-run-fähig, im Repo versioniert. Läuft von hier oder vom Mac mini.