Kanbanize Kartenerstellung dokumentiert: Arrival-Rule-Workaround, Board-Struktur
- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B - Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1 - Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only - Settings und Plans aktualisiert Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
146
plans/lively-plotting-cosmos.md
Normal file
146
plans/lively-plotting-cosmos.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# Plan: flow.wvits.de intern erreichbar machen
|
||||
|
||||
## Ziel
|
||||
|
||||
`flow.wvits.de` soll aus ausgewählten internen Netzen voll erreichbar sein (inkl. Formulare, Signup). Externe Zugriffe bleiben auf Webhooks beschränkt.
|
||||
|
||||
| Netz | Subnet | Zugriff |
|
||||
|------|--------|---------|
|
||||
| Admin-Netz | 10.10.254.0/24 | Voller Zugriff |
|
||||
| Bodega Client | 10.20.20.0/24 | Voller Zugriff |
|
||||
| Admin-VPN | 10.250.0.0/24 | Voller Zugriff |
|
||||
| WuV VPN | 10.250.1.0/24 | Voller Zugriff |
|
||||
| gw-web02 | 10.10.81.12 | Voller Zugriff |
|
||||
| Extern | alles andere | Nur Webhooks |
|
||||
|
||||
## Verifizierte Diagnose
|
||||
|
||||
### Problem 1: Firewall gw-nu-dmz02 blockiert
|
||||
|
||||
**Getestet:**
|
||||
- srv-docker01 (10.10.10.24) → DMZ: **durchkommt** (EasyRule für diesen einzelnen Host)
|
||||
- srv-docker02 (10.10.10.81) → DMZ: **TIMEOUT** (kein Firewall-Eintrag für Subnet)
|
||||
|
||||
**Aktuelle Firewall-Regeln zu srv-revproxy01 (10.10.81.4):**
|
||||
|
||||
| Quelle | Alias | Port | Status |
|
||||
|--------|-------|------|--------|
|
||||
| 10.10.254.0/24 | NET_NU_ADMIN | SSH, 80, 81, 443, 8443 | ✅ vorhanden |
|
||||
| 10.250.1.0/24 | WuV_VPN_Client | 443 | ✅ vorhanden |
|
||||
| 10.250.0.0/24 | WuV_VPN_Admin | 443 | ✅ vorhanden |
|
||||
| 10.20.20.0/24 | NET_BD_CLIENT | 443 | ✅ vorhanden |
|
||||
| 10.10.10.24 | (EasyRule) | alle | ✅ nur einzelner Host |
|
||||
| 10.10.10.0/24 | — | — | Nicht benötigt |
|
||||
| 10.10.0.0/24 | LAN__NETWORK | — | Nicht benötigt |
|
||||
| 10.20.0.0/24 | — | — | Nicht benötigt |
|
||||
|
||||
**Existierende Aliases (relevant):**
|
||||
- `WebGatewayNets`: 10.10.10.0/24, 10.10.12.0/27, 10.10.20.0/24, 10.10.40.0/24, 10.10.254.0/24
|
||||
- `LAN__NETWORK`: 10.10.0.0/24
|
||||
- `WebGateways`: 10.10.81.10, 10.10.81.11, 10.10.81.12
|
||||
|
||||
### Problem 2: nginx allow/deny blockiert
|
||||
|
||||
**Getestet:**
|
||||
- srv-docker01 (10.10.10.24) → Webhook-Pfad: **funktioniert** (n8n antwortet)
|
||||
- srv-docker01 (10.10.10.24) → Signup-Pfad: **403 Forbidden**
|
||||
- nginx-Log bestätigt: `client: 10.10.10.24, access forbidden by rule`
|
||||
|
||||
**Aktuelle allow/deny im non-webhook Location-Block:**
|
||||
```nginx
|
||||
allow 10.10.81.12; # gw-web02
|
||||
deny all;
|
||||
# Auskommentiert: 10.10.254.0/24, 10.20.20.0/24, 10.250.1.0/24
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Lösung
|
||||
|
||||
### Schritt 1: Firewall gw-nu-dmz02 — Regeln hinzufügen (User macht das)
|
||||
|
||||
Auf pfsense Web-UI von gw-nu-dmz02: Firewall-Regeln auf **em1 (LAN)** prüfen/ergänzen.
|
||||
|
||||
**Benötigte Regeln zu srv_revproxy01 (10.10.81.4) Port 443:**
|
||||
|
||||
| Quelle | Alias vorhanden? | Regel vorhanden? | Aktion |
|
||||
|--------|-------------------|------------------|--------|
|
||||
| 10.10.254.0/24 | `NET_NU_ADMIN` ✅ | ✅ HTTPS erlaubt | Keine Änderung |
|
||||
| 10.20.20.0/24 | `NET_BD_CLIENT` ✅ | ✅ HTTPS erlaubt | Keine Änderung |
|
||||
| 10.250.0.0/24 | `WuV_VPN_Admin` ✅ | ✅ HTTPS erlaubt | Keine Änderung |
|
||||
| 10.250.1.0/24 | `WuV_VPN_Client` ✅ | ✅ HTTPS erlaubt | Keine Änderung |
|
||||
|
||||
Alle benötigten Netze haben bereits Firewall-Regeln. **Keine Firewall-Änderung nötig.**
|
||||
|
||||
Die EasyRule für 10.10.10.24 (srv-docker01) bleibt bestehen (wird für NPM → DMZ benötigt).
|
||||
|
||||
### Schritt 2: nginx.conf anpassen
|
||||
|
||||
**Datei:** `/home/vinosadmin/n8n-reverse-proxy/nginx.conf` auf srv-revproxy01
|
||||
**Zugang:** `ssh -J sshtest@10.10.254.201 vinosadmin@srv-revproxy01`
|
||||
|
||||
**Änderung im Location-Block `location /77ba0b14e9ccd5521a0ec1867332378c/`:**
|
||||
|
||||
Ersetze:
|
||||
```nginx
|
||||
#allow 10.10.254.0/24; # Admin-Netz
|
||||
#allow 10.20.20.0/24; # Bodega Client Netz
|
||||
#allow 10.250.1.0/24; # VPN Client Netz
|
||||
allow 10.10.81.12; # gw-web02
|
||||
deny all;
|
||||
```
|
||||
|
||||
Durch:
|
||||
```nginx
|
||||
allow 10.10.254.0/24; # Admin-Netz
|
||||
allow 10.20.20.0/24; # Bodega Client Netz
|
||||
allow 10.250.0.0/24; # Admin-VPN
|
||||
allow 10.250.1.0/24; # WuV VPN Client Netz
|
||||
allow 10.10.81.12; # gw-web02
|
||||
deny all;
|
||||
```
|
||||
|
||||
Nur Bodega-Clients + Admin/VPN. Keine breiten Netz-Freigaben (10.10.0.0/24, 10.20.0.0/24, 10.10.10.0/24).
|
||||
|
||||
**Container neu starten:**
|
||||
```bash
|
||||
cd /home/vinosadmin/n8n-reverse-proxy && docker compose restart
|
||||
```
|
||||
|
||||
### Schritt 3: Testen
|
||||
|
||||
```bash
|
||||
# Von srv-docker02 (10.10.10.81) — derzeit geblockt durch Firewall:
|
||||
ssh vinosadmin@srv-docker02 "curl -sk --connect-timeout 5 -w 'HTTP %{http_code}\n' \
|
||||
'https://flow.wvits.de/77ba0b14e9ccd5521a0ec1867332378c/signup'"
|
||||
# Erwartet: HTTP 200 oder 302 (statt Timeout)
|
||||
|
||||
# Von srv-docker01 (10.10.10.24) — derzeit geblockt durch nginx:
|
||||
ssh vinosadmin@srv-docker01 "curl -sk --connect-timeout 5 -w 'HTTP %{http_code}\n' \
|
||||
'https://flow.wvits.de/77ba0b14e9ccd5521a0ec1867332378c/signup'"
|
||||
# Erwartet: HTTP 200 oder 302 (statt 403)
|
||||
|
||||
# Webhook weiterhin funktionsfähig:
|
||||
ssh vinosadmin@srv-docker01 "curl -sk --connect-timeout 5 -w 'HTTP %{http_code}\n' \
|
||||
'https://flow.wvits.de/77ba0b14e9ccd5521a0ec1867332378c/webhook-test/test'"
|
||||
# Erwartet: HTTP 404 (n8n: webhook nicht aktiv — ok)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Betroffene Systeme
|
||||
|
||||
| System | Zugang | Änderung |
|
||||
|--------|--------|----------|
|
||||
| gw-nu-dmz02 | pfsense Web-UI | Keine Änderung nötig (Regeln existieren bereits) |
|
||||
| srv-revproxy01 | SSH via cli-rwe02 | nginx.conf: allow-Regeln erweitern |
|
||||
|
||||
## Verifiziert (keine Änderung nötig)
|
||||
|
||||
| Prüfpunkt | Status |
|
||||
|-----------|--------|
|
||||
| DNS Split (flow.wvits.de → 10.10.81.4) | ✅ funktioniert (srv-docker01, srv-docker02) |
|
||||
| real_ip Modul (nginx sieht echte Client-IP) | ✅ bestätigt in nginx-Logs |
|
||||
| Webhook-Pfade (allow all) | ✅ funktioniert von srv-docker01 |
|
||||
| NPM-Routing zu nginx Container | ✅ funktioniert |
|
||||
| Route vom Servernetz zur DMZ | ✅ Route existiert (via 10.10.10.1 → 10.10.0.81) |
|
||||
Reference in New Issue
Block a user