Benutzer-Werkzeuge

Webseiten-Werkzeuge


home_infrastruktur:systemanpassungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
home_infrastruktur:systemanpassungen [2026/05/23 12:16] – angelegt - Externe Bearbeitung 127.0.0.1home_infrastruktur:systemanpassungen [2026/08/11 06:31] (aktuell) – [Reverse Proxy] nick
Zeile 1: Zeile 1:
 ====== Home IT-Infrastruktur & Systemanpassungen ====== ====== Home IT-Infrastruktur & Systemanpassungen ======
  
-Dieses Dokument fasst die wichtigsten Erkenntnisse und Konfigurationen der Home IT-Infrastruktur zusammen.+===== NAS2 Wiederherstellung (12. Juli 2026) ===== 
 + 
 +**Ausgangslage:** Das Synology NAS2 (DS1019+, 192.168.128.222) wurde am 12. Juli 2026 neu aufgesetzt. Alle Konfigurationen gingen verloren, die eigentlichen Daten (Shared Folders, VM-Images) blieben erhalten. 
 + 
 +==== Zertifikat ==== 
 +Let's Encrypt Zertifikat für ''nas2.lynx-consulting.ch'' erfolgreich neu beantragt via DSM-Wizard (HTTP-01 Challenge). Gültig bis 10.10.2026. 
 + 
 +**SAN-Einträge:** 
 +  adguard.lynx-consulting.ch;drucker.lynx-consulting.ch;git.lynx-consulting.ch;grafana.lynx-consulting.ch;ha.lynx-consulting.ch;nas2.lynx-consulting.ch;plex.lynx-consulting.ch;prometheus.lynx-consulting.ch;wiki.lynx-consulting.ch 
 + 
 +**⚠️ Kritische Regel:** SANs im DSM-Zertifikatsdialog zwingend mit Semikolons ('';'') ohne Leerzeichen trennen!  
 +**Fehlende SAN:** ''llms.lynx-consulting.ch'' — DNS-Eintrag fehlt noch bei Hetzner (Account-Aussperrung). 
 +**Logs bei Problemen:** ''/var/log/messages'' auf dem NAS2. 
 + 
 +==== Reverse Proxy ==== 
 +Alle Einträge mussten neu erstellt werden (Anmeldeportal → Erweitert → Reverse Proxy): 
 + 
 +^ Dienst ^ Quelle ^ Port ^ Ziel ^ Port ^ 
 +| AdGuard | ''adguard.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3000 (HTTPS) | 
 +| Gitea | ''git.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3001 | 
 +| DokuWiki | ''wiki.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 8085 | 
 +| Drucker | ''drucker.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.254 | 443 (HTTPS) | 
 +| Home Assistant | ''ha.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.22 | 8123 (HTTP) | 
 +| Plex | ''plex.lynx-consulting.ch'' | 443 (HTTPS) | localhost | 32400 (HTTPS) | 
 +| Grafana | ''grafana.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 3002 (HTTP) | 
 +| Prometheus | ''prometheus.lynx-consulting.ch'' | 443 (HTTPS) | 192.168.128.200 | 9090 | 
 + 
 +**WebSocket-Header für HA:** Reverse-Proxy-Eintrag → Benutzerdefinierte Kopfzeile → Erstellen → WebSocket. Ohne diesen Header keine WebSocket-Verbindung zu HA. 
 + 
 +==== Drucker (HP PageWide Pro 477dw) ==== 
 +  * IP: 192.168.128.254 
 +  * **Reverse-Proxy Konfiguration:** HTTPS → HTTPS (443 → 443) 
 + 
 +**⚠️ Kritischer Host-Header-Fix:** Der HP-Drucker setzt Session-Cookies für seine eigene IP-Adresse. Der Synology-Reverse-Proxy überschreibt standardmäßig den Host-Header auf die externe Domain ("drucker.lynx-consulting.ch"). Der Drucker akzeptiert die Cookies dann nicht → alle dynamischen Kacheln (Füllstände, Scan, Fax, Energie) schlagen mit 403 Forbidden fehl! 
 + 
 +**Lösung — Benutzerdefinierte Kopfzeile:** 
 +  * **Name:** ''Host'' 
 +  * **Wert:** ''192.168.128.254'' 
 + 
 +Damit sieht der Drucker seine eigene IP im Host-Header, setzt und akzeptiert Cookies korrekt, und alle dynamischen Inhalte laden einwandfrei. 
 + 
 +**NICHT benötigt:** WebSocket-Header, X-Forwarded-Proto, X-Forwarded-Host — die wurden alle getestet und hatten keinen Effekt. Einzig der Host-Header-Fix löste das Problem. 
 + 
 +==== Home Assistant (VM) ==== 
 +  * IP: 192.168.128.22 (statisch) 
 +  * HAOS 10.1, Core von 2023.7.1 → 2024.7.2 aktualisiert 
 +  * Läuft als VM im Virtual Machine Manager auf NAS2 
 +  * **Problem:** Nach DSM-Reset kein Netzwerkadapter → VMM → Bearbeiten → "Default VM Network" zuweisen 
 +  * **Synology-DSM-Integration:** Neuer Benutzer ''homeassistant'' (muss in Gruppe ''administrators'' sein), Port 5679, SSL-Prüfung deaktiviert 
 + 
 +==== AdGuard Home ==== 
 +  * Port 3000 (Host-Netzwerk), Version v0.107.77 
 +  * **Passwort-Reset:** v0.107 hat KEIN CLI-Reset und KEINE Web-UI-Passwortänderung! Workaround: bcrypt-Hash generieren und in ''/opt/adguardhome/conf/AdGuardHome.yaml'' ersetzen 
 +  * Container ist Alpine-basiert → nur ''sh'', kein ''bash'' 
 +  * **⚠️ Wichtig:** Vor Zertifikatserneuerung muss AdGuard deaktiviert werden (DNS-Rewrites leiten sonst auf private IPs um und Let's Encrypt lehnt ab) 
 + 
 +==== Grafana ==== 
 +  * Port-Mapping: Docker intern 3000 → Host 3001 (3000 von AdGuard belegt) 
 +  * Reverse-Proxy: ''grafana.lynx-consulting.ch'' → localhost:3001 (HTTP) 
 +  * **Tippfehler-Falle:** "consulting" mit **g** am Ende — ''consultin.ch'' führt zu nicht erreichbarer Seite 
 + 
 +==== DokuWiki ==== 
 +  * DokuWiki-Container überlebte den DSM-Reset (Docker-Daten erhalten) 
 +  * **Problem:** Der Config-Manager war durch das ''markdownextra''-Plugin (Version 2013) blockiert — ParseError beim Laden 
 +  * **Lösung:** Plugin über die Erweiterungsverwaltung deaktiviert (nicht gelöscht). Danach Config-Manager wieder funktionsfähig 
 +  * **Config gesetzt:** ''baseurl'' auf "https://wiki.lynx-consulting.ch", ''remote'' API-Zugang aktiviert 
 +  * **XML-RPC/JSON-RPC:** Core-API (seit DokuWiki 2018 im Kern) läuft, aber Aufrufe werden aktuell mit "forbidden" abgewiesen — wird separat behoben 
 +  * **Credentials:** User ''gaston'' (Gruppe: admin) für API-Zugriffe 
 +  * Seiten können zuverlässig via CSRF-Formular geschrieben werden (Fallback bis JSON-RPC läuft) 
 + 
 +==== DSM-Konfigurationssicherung ==== 
 +  * Aktiviert → Synology-Konto (Cloud), letzte Sicherung 12.07.2026 12:34 
 +  * Sichern NUR DSM-Konfiguration. **Nicht gesichert:** Docker-Volumes, Reverse-Proxy, Zertifikate, VM-Konfigurationen 
 +  * Für vollständige Backups: Hyper Backup oder manuelles Backup von ''/volume1/docker/'' 
 + 
 +==== Noch offen ==== 
 +  * [[https://prometheus.lynx-consulting.ch|Prometheus]] (Reverse-Proxy und Dienst) 
 +  * Hetzner DNS-Eintrag für ''llms.lynx-consulting.ch'' (Account-Aussperrung) 
 +  * Homebridge wurde durch HA-eigene HomeKit-Bridge ersetzt (wird nicht wiederhergestellt) 
 +  * JSON-RPC-Zugriff reparieren (Core-API blockt aktuell) 
 + 
 +==== Gelernte Lektionen ==== 
 +  - Vor jedem Reset komplette ''.dss''-Sicherung exportieren **und lokal speichern** 
 +  - Docker-Konfigurationen separat sichern (nicht von DSM-Backup abgedeckt) 
 +  - AdGuard vor Let's-Encrypt-Erneuerung deaktivieren 
 +  - HA hinter Reverse-Proxy braucht immer ''trusted_proxies'' + WebSocket-Header 
 +  - SANs im DSM nur mit Semikolons, ohne Leerzeichen 
 +  - HP-Drucker hinter Reverse-Proxy: Host-Header auf Drucker-IP setzen (Cookie-Problem!) 
 +  - DokuWiki nach Reset: ''markdownextra''-Plugin kann Config-Manager blockieren
  
 ===== Wichtige Links & Dienste (Reverse Proxy) ===== ===== Wichtige Links & Dienste (Reverse Proxy) =====
-  * [[https://nas2.lynx-consulting.ch|NAS2 (Synology DSM)]] +^ Software ^ URL ^ Beschreibung ^ 
-  * [[https://adguard.lynx-consulting.ch|AdGuard Home (DNS & Werbeblocker)]] +**NAS2** | [[https://nas2.lynx-consulting.ch]] | Synology DSM (Hauptsystem| 
-  * [[https://ha.lynx-consulting.ch|Home Assistant (Smart Home Zentrale)]] +**AdGuard Home** | [[https://adguard.lynx-consulting.ch]] | DNS-Server Netzwerkweiter Werbeblocker | 
-  * [[https://git.lynx-consulting.ch|Gitea (Git-Server)]] +**Home Assistant** | [[https://ha.lynx-consulting.ch]] | Smart Home Zentrale | 
-  * [[https://wiki.lynx-consulting.ch|DokuWiki (Wissensdatenbank)]] +**Gitea** | [[https://git.lynx-consulting.ch]] Lokaler Git-Server für Code-Repositories | 
-  * [[https://plex.lynx-consulting.ch|Plex Media Server]] +**DokuWiki** | [[https://wiki.lynx-consulting.ch]] | Diese Wissensdatenbank | 
-  * [[https://drucker.lynx-consulting.ch|HP Drucker (Weboberfläche)]] +**Plex** | [[https://plex.lynx-consulting.ch]] | Media Server | 
-  * [[https://home.lynx-consulting.ch|Homebridge]]+**HP Drucker** | [[https://drucker.lynx-consulting.ch]] | Weboberfläche des Druckers | 
 +| **Homebridge** | [[https://home.lynx-consulting.ch]] | Apple HomeKit Bridge | 
 +**Grafana** | [[https://grafana.lynx-consulting.ch]] Monitoring & Dashboards | 
 +| **Prometheus** | [[https://prometheus.lynx-consulting.ch]] | Time-Series Datenbank für Metriken | 
 + 
 +===== Monitoring (Grafana & Prometheus) ===== 
 +  * **Hintergrund:** Grafana und Prometheus wurden als Docker-Container eingerichtet, um die Infrastruktur und Smart Home Temperaturen zu überwachen. 
 +  * **Installation:** Die Verwendung von "Named Volumes" in Docker führt auf der Synology dazu, dass Daten versteckt abgelegt werden. Besser ist die Nutzung von "Bind Mounts" (z.B. ''./grafana:/var/lib/grafana''), damit die Konfigurationen sichtbar im Verzeichnis ''/volume1/docker/monitoring'' liegen. Die Berechtigungen der Ordner müssen an die Container-User (UID 472 für Grafana, UID 65534 für Prometheus) angepasst werden. 
 +  * **Grafana & Prometheus verbinden:** Grafana und Prometheus müssen "verheiratet" werden. Da Grafana die Weboberfläche manchmal restriktiv behandelt (besonders beim ersten Login via Reverse Proxy), kann die Datenquelle direkt über die "Provisioning"-Funktion von Grafana hart im Hintergrund verdrahtet werden. Die URL lautet dann einfach ''http://prometheus:9090'', da beide im selben Docker-Netzwerk laufen. 
 +  * **Home Assistant Sensoren auslesen:** Anstatt jeden Temperatursensor der Wohnung einzeln anzuzapfen, holt Prometheus die Daten elegant gebündelt bei Home Assistant ab. 
 +    * **In Prometheus:** Ein neuer Scrape-Job mit einem "Long-Lived Access Token" von Home Assistant muss in die ''prometheus.yml'' eingetragen werden. 
 +    * **In Home Assistant:** In der ''configuration.yaml'' muss lediglich das Wort ''prometheus:'' eingetragen und das System neu gestartet werden. 
 +  * **Grafana Dashboards:** Mit der Dashboard-ID ''1860'' lassen sich sofort umfassende Metriken der Hardware (via Node-Exporter) importieren. Home Assistant Metriken (z.B. ''homeassistant_sensor_temperature_celsius'') können in eigenen Panels per PromQL visualisiert und gezielt über Label-Filter (z.B. ''friendly_name != FritzBox'') gefiltert werden. 
 + 
 +===== Home Assistant Reverse Proxy (400 Bad Request) ===== 
 +  * **Problem:** Beim Zugriff auf Home Assistant über den Synology Reverse Proxy (''ha.lynx-consulting.ch'') erscheint die Fehlermeldung "400: Bad Request"
 +  * **Ursache:** Home Assistant blockiert sicherheitshalber Zugriffe, die von einem unbekannten Reverse Proxy weitergeleitet werden. 
 +  * **Lösung:** In der ''configuration.yaml'' des Home Assistant muss der Reverse Proxy des NAS2 explizit als "Trusted Proxy" eingetragen werden: 
 +<code yaml> 
 +http: 
 +  use_x_forwarded_for: true 
 +  trusted_proxies: 
 +    - 192.168.128.222 
 +</code> 
 +  * **Dateizugriff bei HA-Ausfall:** Wenn HA als VM läuft und der Reverse Proxy streikt, erreicht man die ''configuration.yaml'' entweder, indem man direkt über die lokale IP-Adresse (''http://192.168.128.22:8123'') auf die Weboberfläche zugreift und das Add-on "File editor" bzw. "Studio Code Server" nutzt, oder über die voll funktionsfähige iPhone-App. 
 + 
 +===== Synology Let's Encrypt Zertifikate (SAN) ===== 
 +  * **Problem:** Beim Eintragen mehrerer alternativer Namen (SAN) im Synology DSM blockiert die GUI oft mit kryptischen Fehlermeldungen (z.B. im Feld der Mail-Adresse). 
 +  * **Lösung:** Die Synology DSM-Oberfläche verlangt bei den Subject Alternative Names strikt Semikolons anstelle der branchenüblichen Kommas. Außerdem dürfen absolut keine Leerzeichen verwendet werden. 
 +  * **Aktuelle SAN-Liste:** ''adguard.lynx-consulting.ch;git.lynx-consulting.ch;drucker.lynx-consulting.ch;wiki.lynx-consulting.ch;home.lynx-consulting.ch;ha.lynx-consulting.ch;plex.lynx-consulting.ch;grafana.lynx-consulting.ch;prometheus.lynx-consulting.ch'' 
 + 
 +{{:home_infrastruktur:cert_san.jpg?800|Zertifikat SANs - Subject Alternative Names}}
  
 ===== Gitea & Synology Git-Pakete ===== ===== Gitea & Synology Git-Pakete =====
-  * **Hintergrund:** Gitea und AdGuard haben um Port 3000 konkurriert. Zudem hat das offizielle Synology ''Git Server'' Paket die SSH-Zugriffe (''git-shell'') für Administratoren blockiert. +  * **Hintergrund:** Gitea und AdGuard haben um Port 3000 konkurriert. Zudem hat das offizielle Synology Git Server Paket die SSH-Zugriffe (git-shell) für Administratoren blockiert. 
-  * **Lösung:** Deinstallation der Synology-Pakete ''Git Server'' und des inoffiziellen Gitea-Pakets aus dem Paketzentrum. +  * **Lösung:** Deinstallation der Synology-Pakete Git Server und des inoffiziellen Gitea-Pakets aus dem Paketzentrum. Verschieben des Docker-Gitea-Containers auf Port 3010. Reverse Proxy git.lynx-consulting.ch zeigt nun auf localhost:3010. SSH ist wieder frei für normale administrative Befehle.
-  * **Lösung:** Verschieben des Docker-Gitea-Containers auf Port 3010. +
-  * **Lösung:** Reverse Proxy ''git.lynx-consulting.ch'' zeigt nun auf ''localhost:3010''. SSH ist wieder frei für normale administrative Befehle.+
  
 ===== AdGuard Home ===== ===== AdGuard Home =====
   * **Problem:** Port 53 (DNS) und 3000 (Setup) wurden von Synology bzw. Gitea blockiert. Ein Macvlan-Setup würde zur Isolation vom Host-System führen (das NAS könnte seinen eigenen DNS nicht nutzen).   * **Problem:** Port 53 (DNS) und 3000 (Setup) wurden von Synology bzw. Gitea blockiert. Ein Macvlan-Setup würde zur Isolation vom Host-System führen (das NAS könnte seinen eigenen DNS nicht nutzen).
-  * **Lösung:** AdGuard läuft nun im Docker **Host-Netzwerk** (''--network host'').  +  * **Lösung:** AdGuard läuft nun im Docker Host-Netzwerk (--network host). 
-  * **Vorteil:** AdGuard sieht die echten Client-IP-Adressen der Geräte im Heimnetzwerk statt der Docker-Bridge-IP (''172.17.0.1''). Reverse Proxy ''adguard.lynx-consulting.ch'' verweist auf den Setup/Admin-Port.+  * **Vorteil:** AdGuard sieht die echten Client-IP-Adressen der Geräte im Heimnetzwerk statt der Docker-Bridge-IP (172.17.0.1). Reverse Proxy adguard.lynx-consulting.ch verweist auf den Setup/Admin-Port.
  
 ===== HP Drucker - Scan to Network Folder (SMB) ===== ===== HP Drucker - Scan to Network Folder (SMB) =====
-  * **Fehlerbilder:** ''pgNetworkFolderAccounts-403'' und ''Ungültige Eingabe''+  * **Fehlerbilder:** pgNetworkFolderAccounts-403 und Ungültige Eingabe. 
-  * **Echte Ursache (Firmware-Bug):** HP-Drucker brechen den SMB-Verbindungstest intern ab, wenn man das Drucker-Webmenü über ''https://'' aufgerufen hat. Das führt zu scheinbaren Berechtigungs- und Protokollfehlern. +  * **Echte Ursache (Firmware-Bug):** HP-Drucker brechen den SMB-Verbindungstest intern ab, wenn man das Drucker-Webmenü über HTTPS aufgerufen hat. Das führt zu scheinbaren Berechtigungs- und Protokollfehlern. 
-  * **Lösung:** Drucker-Weboberfläche zwingend über unverschlüsseltes ''http://192.168.128.254'' aufrufen. Die Einrichtung klappt dann einwandfrei mit dem modernen Protokoll **SMB 3.1.1**+  * **Lösung:** Drucker-Weboberfläche zwingend über unverschlüsseltes HTTP (http://192.168.128.254aufrufen. Die Einrichtung klappt dann einwandfrei mit dem modernen Protokoll SMB 3.1.1. 
-  * **Wichtig:** Keine PIN eintragen und in Schritt 2 ''Stets die folgenden Anmeldedaten verwenden'' (Benutzer: nicolaie + NAS-Passwort) wählen. +  * **Wichtig:** Keine PIN eintragen und in Schritt 2 Stets die folgenden Anmeldedaten verwenden (Benutzer: nicolaie + NAS-Passwort) wählen.
   * **Sicherheit:** Alte Protokolle (NT1/SMB1, NTLMv1) müssen auf der Synology nicht aktiviert werden und sollten aus Sicherheitsgründen deaktiviert bleiben!   * **Sicherheit:** Alte Protokolle (NT1/SMB1, NTLMv1) müssen auf der Synology nicht aktiviert werden und sollten aus Sicherheitsgründen deaktiviert bleiben!
- 
-===== Synology Let's Encrypt Zertifikate (SAN) ===== 
-  * **Problem:** Beim Eintragen mehrerer alternativer Namen (SAN) im Synology DSM blockiert die GUI oft mit kryptischen Fehlermeldungen (z.B. im Feld der Mail-Adresse). 
-  * **Lösung:** Die Synology DSM-Oberfläche verlangt bei den ''Subject Alternative Names'' strikt **Semikolons ( ; )** als Trennzeichen anstelle der branchenüblichen Kommas. Außerdem dürfen **absolut keine Leerzeichen** verwendet werden. 
-  * **Aktuelle SAN-Liste:** ''adguard.lynx-consulting.ch;git.lynx-consulting.ch;drucker.lynx-consulting.ch;wiki.lynx-consulting.ch;home.lynx-consulting.ch;ha.lynx-consulting.ch;plex.lynx-consulting.ch'' 
  
 ===== Home Assistant vs. Homebridge ===== ===== Home Assistant vs. Homebridge =====
-  * **Erkenntnis:** Home Assistant (''ha.lynx-consulting.ch'') verfügt über eine native HomeKit-Bridge, die identisch zu Homebridge (''home.lynx-consulting.ch'') arbeitet. +  * **Erkenntnis:** Home Assistant (ha.lynx-consulting.ch) verfügt über eine native HomeKit-Bridge, die identisch zu Homebridge (home.lynx-consulting.ch) arbeitet.
   * **Empfehlung:** Mittelfristig alle Homebridge-Geräte direkt in Home Assistant einbinden. Das spart einen Docker-Container und man profitiert von der überlegenen Automatisierungs-Logik des Home Assistant.   * **Empfehlung:** Mittelfristig alle Homebridge-Geräte direkt in Home Assistant einbinden. Das spart einen Docker-Container und man profitiert von der überlegenen Automatisierungs-Logik des Home Assistant.
  
 ===== Plex Media Server ===== ===== Plex Media Server =====
   * **Hintergrund:** Plex läuft nicht im Docker, sondern als manuell installiertes Paket, um die Datenbank und Rechtestruktur nicht zu gefährden.   * **Hintergrund:** Plex läuft nicht im Docker, sondern als manuell installiertes Paket, um die Datenbank und Rechtestruktur nicht zu gefährden.
-  * **Updates:** Da Synology im Paketzentrum oft sehr alte Plex-Versionen anbietet, muss das Update manuell erfolgen. Dazu im Plex-Webinterface die Update-Datei (''.spk'') herunterladen und im Synology Paketzentrum oben rechts auf **Manuelle Installation** klicken. Dies ist der sicherste Weg, um die Mediathek beim Update nicht zu beschädigen. +  * **Updates:** Da Synology im Paketzentrum oft sehr alte Plex-Versionen anbietet, muss das Update manuell erfolgen. Dazu im Plex-Webinterface die Update-Datei (.spk) herunterladen und im Synology Paketzentrum oben rechts auf Manuelle Installation klicken. Dies ist der sicherste Weg, um die Mediathek beim Update nicht zu beschädigen.
- +
home_infrastruktur/systemanpassungen.1779538570.txt.gz · Zuletzt geändert: von 127.0.0.1