HAOS Installation: Zugriff über das Internet mit CloudFlare

Preview HAOS Installation: Zugriff über das Internet mit CloudFlare

Für den Zugriff aus dem Internet habe ich am Router ein Port-Forwarding eingerichtet. Damit der Zugriff verschlüsselt stattfindet habe ich einen DNS-Eintrag gesetzt und dafür über das Let´s Encrypt-AddOn ein Zertifikat anfordern lassen, aber alles der Reihe nach: 

Zunächst sollte Home-Assistant nach dem erfolgreichen Deployment im lokalen Netzwerk über den Port 8123 erreichbar sein. Einen Schritt weiter, können wir versuchen die Installation aus dem Internet aufzurufen, dazu müssen wir die Anfragen aus dem Internet vom Router an den Raspberry Pi weiterleiten.

Port-Forwarding

Details zum Zugriff, zur öffentlichen IP-Adresse und Funktionsweise des Zugriffs über ein Port-Forwarding, siehe: aus dem Internet verfügbar machen: Port-Forwarding - OpenWRT.

Für den Zugriff kann der Port 443 auf 8123 umgeleitet werden, dadurch muss der Port 8123 aus dem Internet nicht extra in der URL angeführt werden. Port 80 wird für das Ausstellen der Let's Encrypt Zertifikate über die http-Variante benötigt.

Durch das Port-Forwarding sollte Home Assistant über die öffentliche IP-Adresse des Internets und dem Port 443 erreichbar sein: http://PublicIP:443. Für einen sicheren Zugriff benötigen wir zusätzlich noch einen DNS-Eintrag, z.B. über DynDNS, siehe: free DynDNS Service - Zugriff bei wechselnder öffentlicher IP. Sollte sich die IP-Adresse des Internetzugangs nicht ändern, kann ein zusätzlicher Eintrag einer beliebigen Internet- Domain verwendet werden. Als Beispiel habe ich bei Cloudflare eine Domain geordert. 

DNS-Eintrag

Für die Namensauflösung benötigen wir einen A-Record auf die Public-IP des Internetanschlusses

Wichtig bei der Verwendung von CloudFlare ist das Deaktivieren des CloudFlare-Proxy: "DNS only"

Zeigt der DNS-Eintrag auf die öffentliche IP-Adresse des Internetanschlusses, sollte Home-Assistant vom Internet auch über den Namen aufrufbar sein.

http://A-Record-Public-Domain:443.

Um von http auf https zu wechseln, fehlt uns jetzt nur noch ein Zertifikat:

Let´s Encrypt Zertifikat ausstellen

Um das Ausstellen und automatische Verlängern eines Zertifikats kann sich das Home Assistant AddOn "Let´s Encrypt" kümmern, welches über den AddOn Store installiert werden kann:

In den Options benötigt das AddOn jetzt noch die Information über den verwendeten DNS-Record (A-Eintrag) und die Email-Adresse für ev. Warnungen oder Information zum Zertifikat:

Nach dem Start des Add-Ons kümmert sich dieses um das Ausstellen und Verlängern des Zertifikats. Ein Blick in das Log zeigt, an dieser Stelle, dass bereits ein Zertifikat ausgestellt wurde und keine weitere Aktion notwendig ist:

Soweit hat sich an der Home Assistant-Installation bis dato noch nichts geändert, das Zertifikat ist jetzt lediglich bereit für die Verwendung. Damit das Zertifikat zum Einsatz kommt, müssen wir Home Assistant mitteilen, wo sich das Zertifikat befindet und dass die Verbindung über https stattfinden soll: 

Home Assistant auf https umstellen

Wie auch bei sehr vielen anderen Einstellungen in Home Assistant finden diese in der configuration.yaml-Datei statt. Damit die Datei configuration.yaml einfach bearbeitet werden kann, bietet sich das AddOn "File editor" an:

Nach dem Aktivieren des File editor, kann die Datei /config/configuration.yaml damit geöffnet und https mit folgenden Zeilen aktiviert werden:

...
# enable https 
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Alternativ zur eben beschriebenen http-Variante, kann mit Cloudflare auch die DNS-Variante über einen API-Token verwendet werden. Das Port-Forwarding des Port 80 ist für diese Variante nicht notwendig:

Test mit Cloudflare API-Token

Der API-Token kann auf der Cloudflare-Website mittels "Get your API token" angefordert werden:

Der Token, kann dann in "Options" und DNS wie folgt hinterlegt werden:

provider: dns-cloudflare
cloudflare_api_token: ???

Ein Blick in das Log zeigt uns, ob das Zertifikat erfolgreich ausgestellt werden konnte:

Alternativer Port

Sollte der Internetprovider aus irgendeinem Grund den Port 443 eingehend blockieren, kann Home Assistant auch auf einem anderen Port, als Beispiel auf dem Standardport 8123 betrieben werden:

Fazit

Die Kombination aus einem Raspberry Pi und Home Assistant liefert eine kostengünstige Möglichkeit für den Aufbau des eigenen Smart Homes, ganz ohne der Abhängigkeit zu einem Cloud-Anbieter: Der Betrieb erfolgt zur Gänze im eigenen Netzwerk und das Setup bietet optional die Möglichkeit auch vom Internet zugreifen zu können: Mit dem gleichen Komfort eines Cloud-Services. 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Beitrag erstellt von Bernhard | Veröffentlicht: 25.09.2023 | Aktualisiert: 24.04.2025 | Translation English |🔔 | Kommentare:0

Fragen / Kommentare


 
Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details