DuckDNS: Home Assistant - Remote Internet - kostenlos

Um Home Assistant im eigenen Netzwerk für den Internetzugriff zu konfigurieren, gibt es verschiedene Optionen. Alternativen zur Home Assistant Cloud: 7,5€  / Monat oder einem VPN-Dienst, bietet sich ein kostenloser DNS-Eintrag und eine Port-Weiterleitung an. Wer als Installationsvariante HAOS einsetzt, kann dazu auf DuckDNS setzen. Für all jene, die Home Assistant Core in einem Docker Container betreiben, empfehle ich Traefik als Reverse Proxy. Abgesehen von der Home Assistant Cloud ist DuckDNS wahrscheinlich die einfachste und kostengünstigste Variante einen direkten Fernzugriff zu erlauben.  

Fernzugriff auf Home Assistant: Optionen und Empfehlungen

Home Assistant IP-Adresse auslesen

Zunächst benötigen wir dazu die IP-Adresse von Home Assistant, z.B. kann diese sehr einfach unter Einstellungen / System / Netzwerk und IPv4 ausgelesen werden: 

Die IP-Adresse benötigen wir im nächsten Schritt als Ziel für die Portweiterleitung. Hinter der Gateway-Adresse verbirgt sich in einem Heimnetzwerk normalerweise der Internetrouter, daher können wir die Adresse verwenden, um dessen Verwaltungsoberfläche aufzurufen:

Einrichten einer Portweiterleitung am Router (hier OpenWrt)

Eingegeben im Browser, meldet sich die Verwaltungsoberfläche des Routers: hier 192.168.1.2. An diese Stelle unterscheidet sich die Verwaltungsoberfläche ja nach Routertyp und Firmwareversion. Ziel ist es den externen Port: 8123 auf die interne IP-Adresse von Home Assistant zu leiten:

Quelle Ziel
WAN (Internet), Port 8123 Home Assistant IP-Adresse (im Beispiel: 192.168.1.149), Port 8123

Bei OpenWrt befindet sich das Menü für die Port-Weiterleitung unter Network / Firewall und Port Forwards: 

Siehe auch: aus dem Internet verfügbar machen: Port-Forwarding - OpenWRT

Nach dem Einrichten einer Portweiterleitung funktioniert der Zugriff auf Home Assistant bereits mit der öffentlichen IP-Adresse des Internetzugangs und Port 8123, aber ohne Verschlüsselung! 
Zugriffstest:
Führe mit folgendem Link einen Zugriffstest durch: Damit wird die öffentliche IP-Adresse des aktuellen Internetzugangs über HTTP auf Port 8123 getestet. Der Link lädt die lokale Home-Assistant Installation über das zuvor eingerichtete Port-Forwarding:
Einen Moment bitte ...

Auch wenn der Zugriff über die IP-Adresse bereits funktioniert, bitte jetzt nicht aufhören: Wir müssen die Verbindung noch verschlüsseln und dazu benötigen wir als nächstes einen DNS-Eintrag ...

DuckDNS Domain anlegen

Damit die Verbindung sicher über https und einem Zertifikat stattfinden kann, benötigen wir einen DNS-Namen im Internet und ein zugehöriges Zertifikat. Als DNS-Name kann ein kostenloser DNS-Eintrag bei DuckDNS verwendet werden: 

Da für den Home Assistant Community-Store (HACS) auch ein Github-Konto notwendig ist, bietet es sich an, dieses Konto auch für die Anmeldung an Duck DNS zu verwenden. 

DuckDNS Add-on aktivieren

Das DuckDNS Add-on kümmert sich um das synchronisieren der öffentlichen IP-Adresse mit dem DNS-Eintrag und um das Ausstellen eines kostenlosen Let's Encrypt Zertifikats:

Duck DNS Add-On konfigurieren

Für die Duck DNS-Konfiguration reicht es, den Domain-Namen und den Token zu hinterlegen:

YAML-Konfiguration:

domains:
  - ha4libenetdemo.duckdns.org
token: d0cefdc5-1c41-4cf5-a019-8e2a0b3a2cab
aliases: []
lets_encrypt:
  accept_terms: true
  algo: secp384r1
  certfile: fullchain.pem
  keyfile: privkey.pem
seconds: 300

Home Assistant könnte jetzt bereits mit der angelegten Duck DNS- Domain "http://???.duckdns.org:8123" aus dem Internet erreicht werden, allerdings unverschlüsselt:

Auf HTTPS ändern

Nachdem das Let's Encrypt-Zertifikat durch das DuckDNS Add-on verfügbar ist, muss Home Assistant konfiguriert werden, um es zu verwenden.

Durch das Hinzufügen der folgenden Zeile zur configuration.yaml, wechselt Home Assistant auf https:

http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Achtung: Ab jetzt funktioniert der Aufruf von Home Assistant nur mehr mit einem vorangestellten https, dies gilt auch für die Standard-URL: https://homeassistant.local:8123. Alternativ kann im lokalen Netzwerk https:// und die IP-Adresse von Home Assistant mit Port 8123 verwendet werden:

Bei Verwendung der IP-Adresse von Home-Assistant wird eine Warnung ausgegeben: Dies ist keine sichere Verbindung. Grund dafür ist, dass die IP-Adresse nicht mit dem Namen des Zertifikats übereinstimmt. Die Warnung kann also ignoriert werden und verschwindet beim Aufruf über die Duck DNS-Domain.

Ziel erreicht: Home-Assistant kann jetzt über https://???.duckdns.org:8123 mit einer verschlüsselten Verbindung vom Internet erreicht werden:

Add-On vs. Integration:

Für Duck DNS gibt es auch eine Integration, diese kümmert sich lediglich darum den DNS-Eintrag mit der IP-Adresse des Internet-Providers synchron zu halten. Das Duck-DNS-Add-On hält den DNS-Eintrag auch synchron und kümmert sich zusätzlich um das Ausstellen und Verlängern von Let´s Encrypt-Zertifikaten für einen verschlüsselten Zugriff auf die lokale Home-Assistant Installation. Wird hingegen nur das Ausstellen und Verlängern von Let´s Encrypt Zertifikaten benötigt, kann das AddOn: LetzEncrypt verwendet werden:

Alternative zu Duck DNS: beliebiger DNS-Eintrag und Let´s Encrypt Add-On

Wer bereits eine Domain im Internet registriert hat und sollte sich die öffentliche IP-Adresse des Internetzugangs nicht ändern, kann anstelle des Duck DNS-Add-Ons das Let´s Encrypt Add-On verwenden. 

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:

Test mit Cloudflare API-Token

Das API-Token kann auf der Cloudflare-Website mit "Get your API token" angefordert werden:

Das Token kann dann in "Optionen" 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:

 

Fleißaufgaben / ev. zu berücksichtigen

Optional Zugriff ohne: 8123

Wer den Zugriff ohne 8123 bevorzugHome Assistant IP-Adresse auslesen Zunächst benötigen wir dazu die IP-Adresse von Home Assistant, z.B. kann diese sehr einfach unter Einstellungen / System / Netzwerk und IPv4 ausgelesen werden:  Die IP-Adresse benötigen wir im nächsten Schritt als Ziel für die Portweiterleitung. Hinter der Gateway-Adresse verbirgt sich in einem Heimnetzwerk normalerweise der Internetrouter, daher können wir die Adresse verwenden, um dessen Verwaltungsoberfläche aufzurufen: Einrichten einer Portweiterleitung am Router (hier OpenWrt) Eingegeben im Browser, meldet sich die Verwaltungsoberfläche des Routers: hier 192.168.1.2. An diese Stelle unterscheidet sich die Verwaltungsoberfläche ja nach Routertyp und Firmwareversion. Ziel ist es den externen Port: 8123 auf die interne IP-Adresse von Home Assistant zu leiten: Quelle Ziel WAN (Internet), Port 8123 Home Assistant IP-Adresse (im Beispiel: 192.168.1.149), Port 8123 Bei OpenWrt befindet sich das Menü für die Port-Weiterleitung unter Network / Firewall und Port Forwards:  Siehe auch: aus dem Internet verfügbar machen: Port-Forwarding - OpenWRT ⓘ Nach dem Einrichten einer Portweiterleitung funktioniert der Zugriff auf Home Assistant bereits mit der öffentlichen IP-Adresse des Internetzugangs und Port 8123, aber ohne Verschlüsselung!  Zugriffstest: Führe mit folgendem Link einen Zugriffstest durch: Damit wird die öffentliche IP-Adresse des aktuellen Internetzugangs über HTTP auf Port 8123 getestet. Der Link lädt die lokale Home-Assistant Installation über das zuvor eingerichtete Port-Forwarding: Einen Moment bitte ... Auch wenn der Zugriff über die IP-Adresse bereits funktioniert, bitte jetzt nicht aufhören: Wir müssen die Verbindung noch verschlüsseln und dazu benötigen wir als nächstes einen DNS-Eintrag ...t, kann als Quellport für die Portweiterleitung am Router 443 verwenden.

Interner Zugriff direkt auf die IP-Adresse von Home Assistant

Damit für den Zugriff aus dem eigenen Netzwerk, z.B. übers WLAN nicht immer die öffentliche IP-Adresse des Internetzugangs verwendet wird, kann am Router ein DNS-Eintrag für die Duck DNS-Domain mit der lokalen IP-Adresse von Home Assistant hinzugefügt werden.

IP-Adresse für Home Assistant im internen Netzwerk fixieren oder reservieren

Sollte Home Assistant im internen Netzwerk keine fixe IP-Adresse verwenden und sollte sich der Router die bereits vergebenen IP-Adressen nicht merken, könnte es sein, dass Home Assistant eine andere IP-Adresse bekommt und die Portweiterleitung damit nicht funktioniert. Als Lösung könnte die IP-Adresse entweder auf einen bestimmten Wert eingestellt werden (kein DHCP: manuelle IP)  oder eine DHCP-Reservierung für die bereits vergebene IP-Adresse am Router erstellt werden.

Zuletzt noch ein Wort zur Sicherheit: 

Um den Zugriff aus dem Internet abzusichern, sollten alle Benutzer von Home-Assistant sichere Kennwörter verwenden und nach Möglichkeit MFA aktivieren.

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

DANKE für deine Bewertung!

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

Fragen / Kommentare


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