Sign inSign up

virkotho/ddns-hub

By virkotho

•Updated about 2 months ago

Multi-Provider Dynamic DNS Update Service für FritzBox und andere Router.

Image
Networking
Integration & delivery
API management
0

585

virkotho/ddns-hub repository overview

⁠DDNS Hub

Multi-Provider Dynamic DNS Update Service für FritzBox und andere Router.

⁠Features

  • Multi-Provider – DuckDNS, dynv6, Technitium, BIND, PowerDNS und mehr gleichzeitig
  • RFC 2136 – Native DNS-Updates mit TSIG-Authentifizierung
  • Multi-Router – Verschiedene Provider für Glasfaser/DSL Backup
  • IPv6 – Berechnet Server-IPv6 aus LAN-Präfix + statischem Host-Teil
  • FritzBox-kompatibel – Custom DynDNS-Ziel

⁠Quick Start

# Config-Verzeichnis erstellen
mkdir -p config

# Beispiel-Config herunterladen
curl -o config/ddns-hub.conf https://git.irohlf.de/iRohlf/ddns-hub/raw/branch/master/templates/ddns-hub.conf.docker

# Config anpassen
nano config/ddns-hub.conf

# Container starten
docker run -d \
  --name ddns-hub \
  --restart unless-stopped \
  -p 3080:8080 \
  -v $(pwd)/config:/config \
  -e TZ=Europe/Berlin \
  virkotho/ddns-hub:latest

⁠Docker Compose

services:
  ddns-hub:
    image: virkotho/ddns-hub:latest
    container_name: ddns-hub
    restart: unless-stopped
    ports:
      - "3080:8080"
    volumes:
      - ./config:/config
    environment:
      - TZ=Europe/Berlin
      - CONFIG_FILE=/config/ddns-hub.conf

⁠FritzBox einrichten

Internet → Freigaben → DynDNS:

FeldWert
AnbieterBenutzerdefiniert
Update-URLhttp://SERVER:3080/update?ip=<ipaddr>&ipv6prefix=<ip6lanprefix>
Domainname(leer)
Benutzername(leer)
Kennwort(leer)

Wichtig: ipv6prefix=<ip6lanprefix> verwenden – nicht ipv6=<ip6addr>!

⁠Beispiel-Konfiguration

[General]
port = 8080
debug = false

[IPv6]
# Host-Teil deines Servers (letzte 64 Bit der IPv6)
static_host_part = ac4e:3cff:fef0:21ef

# --- DuckDNS ---
[DynDNS:duckdns]
enabled = true
domain = meinname.duckdns.org
token = DEIN_TOKEN
update_url = https://www.duckdns.org/update?domains={domain}&token={token}&ip={ipv4}&ipv6={ipv6}

# --- Technitium/BIND via RFC2136 ---
[RFC2136:technitium]
enabled = true
server = ns1.example.com
zone = ddns.example.com
key_name = ddns-hub
key_secret = BASE64_SECRET
key_algorithm = hmac-sha256
ttl = 3600
domains = home, nas, server

⁠Multi-Router Setup

Bei mehreren Internetverbindungen (Glasfaser + DSL):

[RFC2136:glasfaser]
enabled = true
domains = home, nas
connection = glasfaser

[RFC2136:dsl]
enabled = true
domains = home-backup
connection = dsl

FritzBox-URLs:

  • FB1: http://server:3080/update?connection=glasfaser&ip=<ipaddr>&ipv6prefix=<ip6lanprefix>
  • FB2: http://server:3080/update?connection=dsl&ip=<ipaddr>&ipv6prefix=<ip6lanprefix>

⁠Umgebungsvariablen

VariableDefaultBeschreibung
CONFIG_FILE/config/ddns-hub.confPfad zur Config
TZUTCZeitzone

⁠Volumes

PfadBeschreibung
/configKonfigurationsverzeichnis

⁠Ports

PortBeschreibung
8080HTTP API für DynDNS-Updates

⁠IPv6 Host-Teil finden

ip -6 addr show | grep "scope global"
# inet6 2a02:560:1234:5600:ac4e:3cff:fef0:21ef/64
#                        ^^^^^^^^^^^^^^^^^^^ = static_host_part

⁠Unterstützte Provider

⁠HTTP-basiert (DynDNS)
  • DuckDNS
  • dynv6
  • No-IP
  • Beliebige mit URL-Template
⁠RFC 2136 (Native DNS)
  • Technitium DNS
  • BIND
  • PowerDNS
  • Knot DNS

⁠License

MIT License⁠

Tag summary

Content type

Image

Digest

sha256:fd4f1cf67…

Size

46.5 MB

Last updated

about 2 months ago

docker pull virkotho/ddns-hub