Zum Inhalt

Cloudflare Tunnel

Übersicht

Ausgewählte interne Dienste sind über einen Cloudflare Tunnel erreichbar; offene Ports nach außen sind dafür nicht erforderlich. WARP-Routing ist aktiv, sodass das Heimnetz zusätzlich per Cloudflare WARP VPN erreichbar ist.

Tunnel: pve-tunnel
Container: LXC 102 (cloudflared, 10.10.10.30) auf Proxmox
DNS: 10.10.10.1
Searchdomain: diebrocks.home

Konfiguration

/root/.cloudflared/config.yml:

tunnel: pve-tunnel
credentials-file: /root/.cloudflared/7737e28d-0316-4419-a66f-092d0e54abdc.json

originRequest:
  connectTimeout: 30s
  noTLSVerify: true
  disableChunkedEncoding: true
  keepAliveTimeout: 1h

warp-routing:
  enabled: true

ingress:
  - hostname: ha.diebrocks.com
    service: http://10.10.10.20:8123

  - hostname: pve.diebrocks.com
    service: https://10.10.10.10:8006
    originRequest:
      connectTimeout: 30s
      keepAliveTimeout: 1h

  # MCP Admin-UI nur unter /admin*
  - hostname: mcp.diebrocks.com
    path: ^/admin
    service: http://10.10.10.33:3001

  # MCP-Server
  - hostname: mcp.diebrocks.com
    service: http://10.10.10.33:3000

  - service: http_status:404

Ingress-Übersicht

Hostname Dienst Ziel
ha.diebrocks.com Home Assistant http://10.10.10.20:8123
pve.diebrocks.com Proxmox Web-UI https://10.10.10.10:8006
mcp.diebrocks.com/admin* MCP Admin-UI http://10.10.10.33:3001
mcp.diebrocks.com MCP-Server http://10.10.10.33:3000

OpenCCU wird nicht mehr direkt über einen eigenen Cloudflare-Hostname veröffentlicht. Der Zugriff erfolgt intern unter http://10.10.10.21 oder über den OpenCCU-Proxy in Home Assistant.

noTLSVerify: true ist erforderlich, weil Proxmox ein selbstsigniertes Zertifikat verwendet.

DNS nach der Glasfaserumstellung

Nach dem vollständigen Abbau der früheren Internet-Infrastruktur war in LXC 102 noch ein veralteter DNS-Server eingetragen. Dadurch konnte cloudflared Cloudflare-Endpunkte wie region1.v2.argotunnel.com zeitweise nicht auflösen.

Der Container verwendet jetzt persistent:

nameserver 10.10.10.1
search diebrocks.home

Nach der Korrektur meldete der cloudflared-Precheck:

  • DNS Resolution: pass;
  • UDP/QUIC Connectivity: pass;
  • TCP/HTTP2 Connectivity: pass;
  • Cloudflare API: pass;
  • primäres Tunnelprotokoll: QUIC.

Die DNS-Einstellung wird auf Proxmox-Ebene am LXC gepflegt und nicht nur direkt in /etc/resolv.conf geändert.

Beispiel:

pct set 102 --nameserver 10.10.10.1 --searchdomain diebrocks.home

DNS-Eintrag anlegen

Bei einem neuen öffentlichen Hostnamen:

cloudflared tunnel route dns pve-tunnel <hostname>
systemctl restart cloudflared

Prüfung

systemctl --no-pager --full status cloudflared
journalctl -u cloudflared -n 80 --no-pager
getent hosts region1.v2.argotunnel.com

Der Tunnel muss aktive Verbindungen zu Cloudflare besitzen und darf keine wiederkehrenden DNS-Timeouts zeigen.

Betrieb und Wartung

Journal-Größe

Das systemd-Journal ist auf maximal 50 MB begrenzt; Logs älter als vier Wochen werden automatisch gelöscht.

/etc/systemd/journald.conf.d/size-limit.conf:

[Journal]
SystemMaxUse=50M
SystemKeepFree=100M
MaxRetentionSec=4week

Postfix

Postfix wurde am 31. Juli 2026 entfernt, da der Dienst nicht benötigt wird.