Home Assistant Fernzugriff mit DS-Lite

Hallo,

ich möchte gerne aus der Ferne auf meinen Home Assistant zugreifen. Ich habe ein Synology NAS, auf dem HAOS in einer virtuellen Maschine läuft, und eine Fritzbox mit goetel Glasfaseranschluss, der DS-Lite verwendet. Bei DS-Lite hat man nur eine öffentliche IPv6-Adresse und keine richtige öffentliche IPv4-Adresse. Ich habe auch eine Domain bei Strato, die ich nutzen könnte.

Ich habe das Gefühl, schon alles versucht zu haben, einschließlich DuckDNS, Cloudflare und No-IP.
Die Domain ist mir letztendlich egal, ich möchte nur kein Geld dafür ausgeben.

Kann mir jemand weiterhelfen?

Vielen Dank im Voraus!

Hi,
keine Ahnung ob das mit deinem Zugang und der Fritzbox klappt:

  1. Mach ein myFritz-Konto und leg diesen in deiner FritzBox an, damit solltest du eine dynDNS Adresse erhalten und musst nicht mal den MyFritz-Internetzugriff einrichten.
  2. Richte eine Wireguard oder herkömmliche (IPsec) VPN-Verbindung ein und verbinde dich mit darüber.

Ob dein Anbieter und die unbekannte Fritzbox das unterstützen, musst du aber mal testen.

1 „Gefällt mir“

Gefühlt hast du alles versucht was auf einer ollen IPv4 rumreiten will die du nun mal nicht mehr hast. Willkommen in der Zukunft.
IPv6 geht genau wie IPv4, nur besser.

Korrektur: Bei IPv6 hast du nicht EINE öffentliche IPv6-Addresse sondern ein ganzes Netz. Laut Google bekommst du bei goetel ein /56-Netz. Damit hast du dann 4.722.366.482.869.645.213.696 IP-Adressen . Das sollte doch erstmal reichen :wink:

  1. Du musst die IPv6-Adresse deines Homeassistant in deiner Fritzbox freigeben. 8123 → 8123 oder eben Wireguard usw. Sonst geht nichts durch!
  2. Die IPv6 muss per DuckDNS, IP64.net etc. bekannt sein damit du sie auflösen kannst
  3. Dein Außengerät muss natürlich auch IPv6 können! (Soll Mobilprovider geben die das auch im 3ten Jahrtausend nicht können)
  4. Auf geht’s!
2 „Gefällt mir“

Ich habe den Zugriff über einen Cloudflare-Tunnen nach dem Simon42 Video “Home Assistant Cloudflare - Fernzugriff ohne Portfreigabe einrichten” (https://www.youtube.com/watch?v=saqvt9aEQPs&t=433s) hinbekommen.

Im Unterschied zum Video habe ich Strato anstelle von Freenom für die Domain verwendet.

Der Zugriff über die dynDNS vom myFritz-Konto geht bis heute nicht. Konnte den Grund bis jetzt nicht herausfinden.

Bei Cloudflare hab ich das Problem das ich die Domain bei Strato auch für E-Mail verwende und wenn ich den Namesserver ändere dann kann ich keine E-Mails mehr versenden. MyFritz ging bei mir als ich Home Assistant noch als Docker Container hatte aber seitdem ich es über eine Virtuelle Maschine mache gibt die Fritzbox Home Assistant kein Namen für MyFritz mehr. Also normalerweise ist die myFritz Addresse ja so: gerätename.blablabla.myfritz.net aber die Fritzbox gibt meinem Home Assistant nur das .blablabla.myfritz.net also da steht kein Gerätename.

Ich habe gerade mal als Test mein Home Assistant zu einem Exposed Host gemacht und ich kann garnicht von der ferne über die IPv6 zugreifen und das WLAN aus der Ferne kann IPv6. Ich habe auch mit einem IPv6 Port Chekcer getestet aber nichts. Woran kann das legen?

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Guck dir mal tailscale an, läuft bei mir schon länger… Unterbau ist dort auch wireguard…
Grüße
Rolo

bzw. netbird.io wenn es nicht alles über US Server laufen soll.

3 „Gefällt mir“

Für Mail hat man einen MX-record im DNS und die IP ist üblicherweise ein A oder AAAA Record.

Überleg dir das nochmal mit dem Fernzugriff und wenn, dann nimm NABUcasa.

Alles eigentlich ganz easy. Ich nutze eine alte FB6490cable und hänge auch an einem DS-Lite-Zugang. VPN-Zugsng lässt sich ganz einfach wie schon weiter oben beschrieben mittels IPSec PSK und den von deiner FB bereitgestellten Werten einrichten. Hier der Link zu AVM der das für die Nutzung unter Android erklärt: IPSec-VPN zur FRITZ!Box unter Android einrichten | FRITZ!Box 4060
Das FB-Konto hatte ich bereits, daher hat dien Einrichtung bei mir keine 5 Minuten gedauert.

1 „Gefällt mir“

Ich glaube, so einfach ist das nicht.

Über IPv6 ist der Internetzugriff auf FRITZ!Box und Heimnetz auch am DS-Lite-Internetzugang möglich. Solche IPv6-Verbindungen können jedoch nur hergestellt werden, wenn beide Teilnehmer über eine IPv6-Internetanbindung verfügen, was z.B. nicht in allen Mobilfunknetzen und WLAN-Hotspots der Fall ist.

Das funktioniert meines Wissens nur, wenn du vom Handy bzw. der Gegenseite auch per IPv6 zugreifst. Ist das nicht der Fall, geht es meines Wissens nicht über den Weg, den du beschreibst.

Cloudflare muss eigentlich funktionieren da der Tunnel von dir in richtung Cloudflare Server aufgebaut wird.
Deswegen brauch man da keine Ports öffnen und auch keine öffentlich erreichbare IPv4 wie es bei DS-Lite der fall ist.

Ist mehr oder weniger die gleiche technik wie auch die Nabu Casa CLoud / Home Assistant Cloud arbeitet

Kannst du nicht einfach eine Subdomain erstellen und nur die für Cloudflare verwenden?


Kann es nich wirklich testen da ich eh für die ganze Domain die Nameserver geändert habe.

LG

Gibt es echt im Jahr 2025 noch mobil Provider die kein IPv6 machen?
Es ist zu befürchten.

1 „Gefällt mir“

Ich würd ja gerne eine Subdomain nehmen aber Cloudflare sagt dann Bitte nur die Haupt Domain und keine Subdomains

Und ich würde halt ungerne einen VPN nehmen da ich oder andere ihn nicht immer einschalten wollen wenn ich oder andere das haus verlassen

Ich habe gerade diesen Dienst gefunden kennt den jemand? Ist das sicher?

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

VPN habe ich immer an. Außer bei Nutzung von Android Auto.
Könnte man sicher noch mit tasker automatisierem.

1 „Gefällt mir“

Man kann zum Beispiel WireGuard sehr klar sagen, wann er genutzt werden soll. Zum Beispiel nur für den IP Bereich, den man zu Hause verwendet. Und sich aktivieren nur, wenn man nicht im heimischen WLAN ist.

Wahlweise kann man zum Beispiel netbird.io nutzen und das routing für extern abgeschaltet lassen.

Oder Du konfigurierst Du eben Deine Domain auf Deinen IPv6 Eintrag. Was spricht dagegen?

Mit E-Mails hat der Eintrag ja, wie bereits richtig beschrieben wurde, nichts zu tun. Wahlweise machst Du z.B. einen IPv64.net Account, damit auch bei Änderung der Eintrag aktualisiert wird und leitest Deine subdomain auf diese Domain weiter…. Entweder per CNAME oder als reguläre Weiterleitung, wenn das funktioniert.

2 „Gefällt mir“

Hängen da so viele Automatisierungen vom App-Zugriff ab, oder was machen “andere” außer Haus damit?

Danke für den netbird.io-Tipp!

1 „Gefällt mir“

Ich benutze WireGuard und hab im iPhone ne Automatisierung … VpN an beim öffnen der App und aus beim schließen

Ich bin in das gleiche Problem gelaufen und habe mal was gebastelt, vielleicht hilft es ja.

0. Problem

Ich habe einen Glasfaseranschluss bekommen und konnte von extern nicht mehr auf mein Home Assistant zugreifen, da zwar vom DuckDNS Add-one eine IPv4 Adresse eingetragen wurde, diese aber nicht über IPv6 aufgelöst werden kann.

1. Ziel / TL;DR

Ziel: Home Assistant (HA) hinter einem DS-Lite-Anschluss von außen erreichbar machen – ohne:

  • öffentliche IPv4

  • Nabu Casa

  • Cloudflare-Tunnel

Stattdessen nur mit:

  • öffentlichem IPv6,

  • einem Router (z.B. FritzBox),

  • DuckDNS,

  • einem Bash-Skript + etwas Home-Assistant-Konfiguration.

Kernidee:

  • Der Router (z.B. FritzBox) aktualisiert seine eigene DuckDNS-Domain mit der externen IPv6.

  • Home Assistant:

    • liest die IPv6 des Routers über DuckDNS,

    • berechnet daraus das LAN-Präfix,

    • baut daraus eine feste GUA mit stabilem Suffix (Interface-ID),

    • trägt diese Adresse aktiv auf seinem Interface ein (löscht alle alten globalen IPv6s),

    • aktualisiert seine eigene DuckDNS-Domain mit genau dieser Adresse.

So bleibt HA dauerhaft über https://deine-ha-subdomain.duckdns.org:8123 erreichbar, obwohl sich das IPv6-Präfix ändert und keine IPv4-Adresse vorhanden ist.


2. Ausgangslage / Voraussetzungen

Typisches Setup:

  • Internetzugang: DS-Lite

  • Router (z.B. FritzBox, Menüpfade können abweichen)

  • Home Assistant:

    • läuft hinter dem Router im LAN (z.B. auf Pi / NUC)

    • Webinterface: Port 8123

    • IPv6 im HA-Netzwerk-Interface: „Statisch“ in der UI
      → die konkret von außen erreichbare globale Adresse wird vom Skript gesetzt.

DynDNS / Dienste:

  • DuckDNS-Account vorhanden

  • zwei Subdomains:

    • eine für den Router, z.B. meinrouter123.duckdns.org

    • eine für Home Assistant, z.B. meinha123.duckdns.org

    • gleicher Token möglich DEIN_DUCKDNS_TOKEN

Außerdem:

  • Zugriff auf das Webinterface des Routers (z.B. FritzBox)

  • Zugriff auf das HA-Dateisystem (/config) + Terminal/Shell in HA

  • Tools im HA-Container: ip, nslookup, curl (normalerweise vorhanden)

Wichtig: IPv6 muss auf dem HA-Interface aktiv sein. Ob in der UI „Statisch“ oder „Automatisch“ ausgewählt ist, ist für das Skript zweitrangig – im beschriebenen Setup steht es auf „Statisch“, die extern erreichbare GUA wird aber vom Skript gesetzt.


3. Grundprinzip

Wir trennen Router-DNS und HA-DNS:

  • Router-DuckDNS (z.B. meinrouter123.duckdns.org):
    zeigt auf die aktuelle WAN-IPv6 des Routers (vom Router selbst aktualisiert).

  • HA-DuckDNS (z.B. meinha123.duckdns.org):
    zeigt auf die aktuelle globale IPv6 des HA-Geräts im LAN (vom HA-Skript aktualisiert).

Ein Skript auf HA macht:

  1. AAAA-Lookup auf meinrouter123.duckdns.org → WAN-IPv6 des Routers, z.B.
    2001:db8:1111:1000::1

  2. berechnet aus dem 4. Block des Präfixes +1 → LAN-PREFIX, z.B.
    2001:db8:1111:1001::/64

  3. hängt ein stabiles Suffix (Interface-ID) an → Ziel-GUA LAN-PREFIX:SUFFIX, z.B.
    2001:db8:1111:1001:1234:5678:9abc:def0

  4. löscht auf dem HA-Interface alle bestehenden globalen IPv6-Adressen

  5. fügt genau diese Ziel-GUA hinzu

  6. testet per HTTP, ob HA unter http://[Ziel-IP]:8123 antwortet

  7. aktualisiert meinha123.duckdns.org mit dieser Ziel-IPv6

Die Portfreigabe im Router zeigt auf das Gerät bzw. dessen Interface-ID; da wir genau diese ID verwenden, passt alles zusammen.


4. Router vorbereiten (z.B. FritzBox)

4.1 IPv6 aktivieren

Im Router-Webinterface (z.B. FritzBox):

  • Menü ähnlich „Internet → Zugangsdaten → IPv6“

    • IPv6 aktivieren

    • Einstellungen laut Provider übernehmen (Standard)

4.2 Stabile Interface-ID für Home Assistant setzen

Im Bereich „Heimnetz / Netzwerk“ bzw. „LAN-Geräte“:

  • HA-Gerät auswählen → Bearbeiten

  • Im Bereich IPv6:

    • IPv6-Interface-ID anzeigen bzw. setzen, z.B.:

      ::1234:5678:9abc:def0
      
  • Diese letzten vier Blöcke (1234:5678:9abc:def0) sind der stabile Suffix für HA.

  • Einmal sinnvoll setzen und danach nicht mehr ändern.

Diese Interface-ID ist der Kern: Das Skript verwendet genau diesen Suffix, um die globale IPv6 zusammenzubauen.

4.3 DynDNS für den Router (Router-Domain)

Im Router-Webinterface:

  • Bereich ähnlich „Internet → Freigaben → DynDNS“

  • Anbieter: „Anderer Anbieter“ (oder direkt DuckDNS, falls vorhanden)

  • Beispiel Update-URL:

https://www.duckdns.org/update?domains=meinrouter123&token=DEIN_DUCKDNS_TOKEN&ipv6=<ip6addr>
  • Domainname = meinrouter123 Subdomain für den Router (ohne .duckdns.org)

  • Benutzername = none

  • Kennwort = DEIN_DUCKDNS_TOKEN DuckDNS-Token

    • <ipaddr> wird vom Router mit der aktuellen WAN-IPv6 ersetzt

Ab jetzt zeigt meinrouter123.duckdns.org immer auf die aktuelle WAN-IPv6 des Routers.

4.4 IPv6-Portfreigabe für Home Assistant

Im Router-Webinterface:

  • Bereich ähnlich „Internet → Freigaben → Portfreigaben (IPv6)“

  • Freigabe für das HA-Gerät einrichten:

    • Protokoll: TCP

    • Externer Port: 8123

    • Interner Port: 8123

      • Ziel: das HA-Gerät mit der gesetzten Interface-ID ::1234:5678:9abc:def0.

Der Router leitet damit eingehende IPv6-Verbindungen an 2001:db8:1111:1001:1234:5678:9abc:def0 (bzw. das jeweils aktuelle Präfix + Suffix) weiter.


5. Home Assistant vorbereiten

5.1 IPv6 im HA-Netzwerk-Interface

In Home Assistant:

  • Einstellungen → System → Netzwerk → dein Interface (z.B. eth0 / wlan0)

  • IPv6: im hier beschriebenen Setup steht es auf „Statisch“.

Die UI-Konfiguration (statische IP) ist aber weniger entscheidend, weil das Skript:

  • alle globalen IPv6-Adressen auf dem Interface löscht und

  • die gewünschte GUA 2001:db8:1111:1001:1234:5678:9abc:def0 selbst setzt.

Wichtig:

  • IPv6 muss aktiv sein,

  • das Interface muss existieren,

  • und die Link-Local-Adresse (fe80::1234:5678:9abc:def0) sollte vorhanden sein – darüber findet das Skript das richtige Interface.

5.2 Ordner für Skripte

Im HA-Config-Ordner (/config) einen Unterordner anlegen, z.B.:

/config/bashscripts

6. Bash-Skripte

6.1 Hauptskript: update_ha_ipv6_from_duckdns.sh

Datei: /config/bashscripts/update_ha_ipv6_from_duckdns.sh

#!/usr/bin/env bash
set -euo pipefail

# === Einstellungen ===
ROUTER_DOMAIN="meinrouter123.duckdns.org"    # DuckDNS-Domain des Routers (nur lesen!)
HA_DOMAIN="meinha123"                        # NUR Subdomain, ohne .duckdns.org
TOKEN="DEIN_DUCKDNS_TOKEN"
SUFFIX="1234:5678:9abc:def0"                 # stabiler Suffix aus Interface-ID im Router
PORT="8123"
# =====================

log() {
  echo "[update_ha_ipv6] $*"
}

# 1) WAN-IPv6 des Routers von DuckDNS holen (AAAA)
WAN6=$(nslookup -type=AAAA "$ROUTER_DOMAIN" 8.8.8.8 2>/dev/null \
  | awk '/Address: / {print $2}' \
  | grep ':' \
  | tail -n1 || true)

if [ -z "${WAN6:-}" ]; then
  log "FEHLER: Konnte IPv6 für $ROUTER_DOMAIN nicht auflösen."
  exit 1
fi

log "Router-WAN-IPv6: $WAN6"
# Beispiel: WAN6 = 2001:db8:1111:1000::1

# 2) LAN-Prefix aus WAN-IPv6 bauen (4. Block +1)
IFS=':' read -r r0 r1 r2 r3 _ <<< "$WAN6"
r3_int=$(( 0x$r3 + 1 ))
r3_lan=$(printf '%x' "$r3_int")
LAN_PREFIX="${r0}:${r1}:${r2}:${r3_lan}"

log "Erwarteter HA-LAN-Prefix: ${LAN_PREFIX}::/64"
# Beispiel: LAN_PREFIX = 2001:db8:1111:1001

# 3) Ziel-GUA aus Prefix + Suffix bauen
TARGET_IP="${LAN_PREFIX}:${SUFFIX}"
log "Ziel-HA-IPv6 (Prefix+Suffix): $TARGET_IP"
# Beispiel: TARGET_IP = 2001:db8:1111:1001:1234:5678:9abc:def0

# 4) Interface finden, auf dem die Link-Local mit diesem Suffix liegt
IFACE=$(ip -6 addr show | awk '
  /^[0-9]+: / { iface=$2; sub(":", "", iface) }          # Zeilen wie "2: eth0:" → iface=eth0
  /fe80::'"$SUFFIX"'/ { print iface; exit }              # Zeile mit fe80::SUFFIX → dieses iface ausgeben
')

if [ -z "${IFACE:-}" ]; then
  log "FEHLER: Konnte Interface mit Link-Local fe80::${SUFFIX} nicht finden."
  exit 1
fi

log "Verwendetes Interface: $IFACE"

# 5) ALLE globalen IPv6-Adressen auf diesem Interface löschen
CURRENT_ADDRS=$(ip -6 addr show dev "$IFACE" scope global | awk '/inet6/ {print $2}' | cut -d/ -f1)

if [ -n "${CURRENT_ADDRS:-}" ]; then
  for addr in $CURRENT_ADDRS; do
    log "Entferne alte globale Adresse $addr/64 von $IFACE"
    ip -6 addr del "$addr/64" dev "$IFACE" || true
  done
else
  log "Keine bestehenden globalen IPv6-Adressen auf $IFACE gefunden."
fi

# 6) Neue Ziel-Adresse hinzufügen
log "Füge Adresse $TARGET_IP/64 zu $IFACE hinzu."
ip -6 addr add "$TARGET_IP/64" dev "$IFACE"

# 7) HTTP-Test auf neuer Adresse
log "Teste HTTP auf http://[$TARGET_IP]:$PORT/"
if curl -g -6 -s --connect-timeout 5 "http://[$TARGET_IP]:$PORT/" >/dev/null; then
  log "HTTP-Test erfolgreich, aktualisiere DuckDNS für $HA_DOMAIN"
else
  log "WARNUNG: HTTP-Test fehlgeschlagen – DuckDNS wird trotzdem aktualisiert."
fi

# 8) DuckDNS für HomeAssistant-Domain aktualisieren
UPDATE_URL="https://www.duckdns.org/update?domains=${HA_DOMAIN}&token=${TOKEN}&ipv6=${TARGET_IP}&verbose=true"
log "Rufe DuckDNS auf: $UPDATE_URL"
curl -s "$UPDATE_URL"
echo

6.2 Sensor-Skript: WAN-IPv6 des Routers von DuckDNS

Datei: /config/bashscripts/sensor_fritz_ipv6.sh (Name beliebig, Inhalt generisch):

#!/usr/bin/env bash
set -euo pipefail

ROUTER_DOMAIN="meinrouter123.duckdns.org"

WAN6=$(nslookup -type=AAAA "$ROUTER_DOMAIN" 8.8.8.8 2>/dev/null \
  | awk '/Address: / {print $2}' \
  | grep ':' \
  | tail -n1 || true)

if [ -z "${WAN6:-}" ]; then
  echo "unknown"
  exit 0
fi

echo "$WAN6"

6.3 Sensor-Skript: HA-IPv6 mit Suffix

Datei: /config/bashscripts/sensor_ha_ipv6_suffix.sh:

#!/usr/bin/env bash
set -euo pipefail

SUFFIX="1234:5678:9abc:def0"

LOCAL_V6=$(
  ip -6 addr show scope global | \
  awk '/inet6/ && $2 ~ /'"$SUFFIX"'/ {print $2}' | \
  head -n1 | cut -d/ -f1
)

if [ -z "${LOCAL_V6:-}" ]; then
  echo "unknown"
  exit 0
fi

echo "$LOCAL_V6"

7. Home Assistant Konfiguration

7.1 command_line-Sensoren

In configuration.yaml:

command_line:
  - sensor:
      name: fritzbox_ipv6_duckdns
      command: "bash /config/bashscripts/sensor_fritz_ipv6.sh"
      scan_interval: 300
      command_timeout: 30

  - sensor:
      name: ha_ipv6_suffix_1234
      command: "bash /config/bashscripts/sensor_ha_ipv6_suffix.sh"
      scan_interval: 300
      command_timeout: 30

Resultierende Entities:

  • sensor.fritzbox_ipv6_duckdns → z.B. 2001:db8:1111:1000::1

  • sensor.ha_ipv6_suffix_1234 → z.B. 2001:db8:1111:1001:1234:5678:9abc:def0

Die Namen kannst du natürlich anpassen, die Inhalte sind nur Beispiele.

7.2 shell_command

In configuration.yaml:

shell_command:
  update_ha_ipv6_from_duckdns: >
    bash /config/bashscripts/update_ha_ipv6_from_duckdns.sh

7.3 Automationen

Beim Präfixwechsel des Routers oder HA-Neustart setzen

alias: HA-Neustart / Fritzbox IPv6 Wechsel erkannt
description: Speichert alte IPv6 in Helfern und startet DuckDNS-Update-Script
triggers:
  - entity_id:
      - sensor.fritzbox_ipv6_duckdns
      - sensor.ha_ipv6_suffix_6acb
    trigger: state
  - trigger: homeassistant
    event: start
conditions:
  - condition: template
    value_template: |
      {{ trigger.to_state.state not in ['unknown','unavailable',''] }}
actions:
  - data:
      entity_id: input_text.last_fritzbox_ipv6
      value: "{{ states('sensor.fritzbox_ipv6_duckdns') }}"
    action: input_text.set_value
  - data:
      entity_id: input_text.last_ha_ipv6
      value: "{{ states('sensor.ha_ipv6_suffix_6acb') }}"
    action: input_text.set_value
  - action: shell_command.update_ha_ipv6_from_duckdns
mode: single

8. Tests

Im LAN:

  1. HA-Terminal:

    ip -6 addr show dev wlan0
    # oder: ip -6 addr show dev eth0
    

    Erwartung:

    • Link-Local:

      inet6 fe80::1234:5678:9abc:def0/64 scope link
      
    • genau eine globale IPv6:

      inet6 2001:db8:1111:1001:1234:5678:9abc:def0/64 scope global
      
  2. Router → Gerätedetails für HA

    • IPv6-Adresse = dieselbe GUA wie oben.
  3. nslookup auf HA-DuckDNS:

    nslookup meinha123.duckdns.org 8.8.8.8
    

    Erwartung:

    Address: 2001:db8:1111:1001:1234:5678:9abc:def0
    
  4. Browser im LAN:

    http://[2001:db8:1111:1001:1234:5678:9abc:def0]:8123
    http://meinha123.duckdns.org:8123
    

Von außen (Mobilfunk, WLAN aus):

  • Browser:

    http://meinha123.duckdns.org:8123
    

Voraussetzung: dein Mobilfunk-Netz hat IPv6-Konnektivität.


9. Stolpersteine

  • Interface-ID falsch oder geändert
    → Suffix im Skript (SUFFIX="...") und Interface-ID im Router-Webinterface müssen zusammenpassen.

  • Falscher DuckDNS-Token / Subdomain
    → Router-Domain (ROUTER_DOMAIN) und HA-Domain (HA_DOMAIN) genau prüfen.

  • Kein IPv6 im Quellnetz
    → Wenn das externe Netz (Hotel-WLAN etc.) kein IPv6 hat, geht der Zugriff nicht – unabhängig von deiner Config.

  • IPv6-Filter des Routers
    → Im Router-Webinterface (z.B. Menü „Internet → Filter“) sicherstellen, dass eingehende IPv6-Verbindungen für die Portfreigabe erlaubt sind.


10. Warum so und nicht mit Nabu Casa / Cloudflare?

Nabu Casa und Cloudflare Tunnel sind komfortable, gepflegte Lösungen – für viele Szenarien völlig ausreichend.

Diese Lösung richtet sich an alle, die:

  • bereits DS-Lite + Router (z.B. FritzBox) + IPv6 haben,

  • keine zusätzlichen Tunnel-Dienste einsetzen möchten,

  • volle Kontrolle über die Adressierung (Präfix + Suffix) haben wollen,

  • und verstehen möchten, warum ihr Home Assistant von außen erreichbar ist – und nicht nur, dass er es ist. :grinning_face_with_smiling_eyes:

Wenn jemand daraus ein Add-on baut (UI für Domains, Token, Suffix, Schalter „alle globalen IPs löschen / nur eine zusätzliche hinzufügen“), wäre das der logische nächste Schritt.

Grüße, sedowan

Wow krass, anscheinend kann man das auch echt kompliziert machen. Ich habe einfach in Nodered die ipv6 Adresse der Fritzbox an die Update Url von duckdns gehängt und damit einen http request gemacht. Fertig
Nginx leitet dann auf HA weiter

1 „Gefällt mir“