Schnellstart
DNS-Editor ist eine einzelne statische Binärdatei mit eingebetteter Oberfläche. Es gibt nichts zu installieren außer der Datei selbst: kein Node, kein Webserver davor, keine externe Datenbank für den Einstieg.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Linux oder macOS (amd64/arm64)
- Für den Einstieg reicht SQLite — die Datei legt der Server selbst an
- Ein 32-Byte-Verschlüsselungsschlüssel (siehe unten)
1. Binary beziehen
Abschnitt betitelt „1. Binary beziehen“Fertige Binaries hängen an jedem Release als Generic Package im GitLab-Projekt
(dnseditor-linux-amd64, dnseditor-linux-arm64, dnseditor-darwin-arm64).
Alternativ selbst bauen:
git clone https://gitlab.techeve.de/dns-editor/dns-editor-ce.gitcd dns-editor-cemake build # → dist/dnseditor (UI eingebettet)2. Schlüssel erzeugen
Abschnitt betitelt „2. Schlüssel erzeugen“Alle Provider-Zugangsdaten, Zertifikats-Schlüssel und geheimen Einstellungen liegen envelope-verschlüsselt in der Datenbank. Ohne diesen Schlüssel sind sie nicht lesbar — auch nicht aus einem Backup:
openssl rand -hex 323. Starten
Abschnitt betitelt „3. Starten“DNSE_ENCRYPTION_KEY=<dein-hex-key> \DNSE_ADMIN_PASSWORD=<start-passwort> \./dnseditorDie Oberfläche läuft dann auf http://127.0.0.1:8422. Anmeldung mit admin
und dem gesetzten Passwort. DNSE_ADMIN_PASSWORD wird nur beim allerersten
Start ausgewertet — ein später geändertes Passwort bleibt bestehen.
Demo-Modus
Abschnitt betitelt „Demo-Modus“Zum Ausprobieren ohne echten Anbieter gibt es einen In-Memory-Provider mit vorgefertigten Daten (Zonen, Benutzer, Historie, Drift):
make demo # Port 8432, eigene Datenbankoder direkt:
DNSE_DEMO=on DNSE_DB=./demo.db DNSE_LISTEN=127.0.0.1:8432 \DNSE_ENCRYPTION_KEY=$(openssl rand -hex 32) DNSE_ADMIN_PASSWORD=demo ./dnseditorIm Demo-Modus werden Zertifikate selbstsigniert ausgestellt; es geht kein Aufruf nach außen.
Betrieb hinter einem Reverse Proxy
Abschnitt betitelt „Betrieb hinter einem Reverse Proxy“Für den produktiven Betrieb gehört ein Reverse Proxy mit TLS davor. Zwei Einstellungen sind dann wichtig:
DNSE_LISTEN=127.0.0.1:8422 # nur lokal lauschen, Proxy terminiert TLSDNSE_SECURE_COOKIES=on # Session-Cookies als Secure markierenDNSE_TRUSTED_PROXIES=10.0.0.0/8 # X-Forwarded-For nur von diesen AdressenDNSE_TRUSTED_PROXIES ist kein Kosmetikschalter: DynDNS ermittelt die IP des
anfragenden Routers. Ohne die Liste vertrauenswürdiger Proxys würde entweder
die Proxy-Adresse eingetragen oder ein gefälschter Header akzeptiert.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Konfiguration — alle Variablen im Überblick
- Datenbank und Schlüssel — PostgreSQL, Sicherung
- Erste Schritte — die erste Zone übernehmen