Help Center
Login Sign up
  1. Start
  2. Domains
  3. DNS-REST-BIND Installations-Guide (Linux)

DNS-REST-BIND Installations-Guide (Linux)

4 Min. Lesezeit

Einführung

Die Anwendung DNS REST BIND bildet eine Brücke zwischen AutoDNS und einem BIND-Nameserver, so dass die Zonen in AutoDNS verwaltet werden können. Die dafür notwendigen Aktionen in AutoDNS werden mit Hilfe von DNS REST BIND an den BIND-Server weitergegeben. Dazu wird das auf HTTP basierende REST-Protokoll verwendet. Um eine sichere Verbindung zu gewährleisten, empfehlen wir, den Server im SSL-Modus zu starten. Es können entweder eigene Zertifikate eingebunden werden oder das bereits in der Anwendung vorhandene Zertifikat verwendet werden.

Die Verarbeitung der AutoDNS-Aktionen erfolgt in zwei Schritten:

  • Die Auftragsdaten werden geprüft und in einer Warteschlange gespeichert. Die BIND-Zonendaten werden generiert und gespeichert.
  • Alle offenen Aufträge werden abgearbeitet und die AutoDNS-Konfigurationsdatei wird neu geschrieben. Danach wird der BIND-Server neu gestartet. Dieser Schritt ist asynchron, aber das Intervall kann angepasst werden.

Systemanforderungen

Die Applikation benötigt für den Betrieb die nötigen PowerDNS Binärdateien (pdns_control), sowie eine Java-Virtual-Maschine (JDK). Eine weitere Abhängigkeit besteht zum javad-utils-Packet, das mitgeliefert wird. Es bestehen keine besonderen Anforderungen an die Hardware, jedoch empfehlen wir ein x86-System mit mindestens 512MB-Speicher.

Empfehlung

Wir verwenden das OpenJDK Amazon Corretto-8 zur Entwicklung unserer Software, daher empfehlen wir die Verwendung von Amazon Corretto-8. Amazon Corretto ist eine freie, plattformübergreifende und produktionsbereite Distribution des Open Java Development Kit (OpenJDK). Corretto bietet langfristigen Support, der Leistungsverbesserungen und Sicherheitskorrekturen umfasst. Es kann mit dem folgenden Befehl einfach installiert werden:

  • Das Repository importieren
    rpm --import yum.corretto.aws/corretto.key curl -L -o /etc/yum.repos.d/corretto.repo yum.corretto.aws/corretto.repo
  • Das JDK installieren
    yum install java-1.8.0-amazon-corretto-devel

Wenn eine Firewall aktiv ist, muss sichergestellt werden, dass Port 9090 aktiviert ist.

Erste Installation

Installation mit Hilfe des Paketmanagers yum

DNS-REST-BIND wurde für den Einsatz mit RPM-basierten Systemen entwickelt und ist als RPM-Paket erhältlich. Sobald unsere Repositories verfügbar sind, kann DNS-REST-BIND einfach mit folgendem Befehl installiert werden:
yum install dns-rest-bind.rpm

Der Paketmanager löst die benötigen Abhängigkeiten auf und ermöglicht das Installieren der fehlenden Programme.

Konfiguration

Vordefinierte Variablen

VariableBeschreibungStandardmäßiger Pfad
CONFIGDIRPfad für Konfigurationsdateien./etc/javad/dns-rest-bind
HOMEHomeverzeichnis des Dienstes./var/lib/javad/dns-rest-bind
APPDIRVerzeichnis für die Programmdateien./usr/share/java/dns-rest-bind

Konfiguration der Passwörter

Der Server verwendet http-BASIC-Auth zum Autorisieren der Benutzer. Die Benutzer und die dazugehörigen Passwörter können in der Datei passwd im Konfigurationsverzeichnis definiert werden.

Die Datei verwendet folgendes Format:

Benutzer: Passwort,rest-user“
Beispiel: benutzer.eins: pwgeheim,rest-user

rest-user kann nicht verändert werden und muss dem Passwort folgen – es definiert die Benutzergruppe, die im Server festgelegt ist.

Konfiguration des Loggings

Bei der Installation wird innerhalb des Konfigurationsverzeichnisses die Datei log4j.xml hinterlegt.

Die Datei definiert das Log-Verhalten, das auf dem Log4j-Logger basiert. Es schreibt die Logdateien auf /var/log/javad/dns-rest-bind.info.log. Das Logging ist so eingestellt, dass maximal 1GB Festplattenplatz belegt werden kann, d .h. 10 Dateien mit jeweils 100 MB.

Wenn das Logging z.B. über syslog erfolgen soll,  verweisen wir auf die Log4j- Konfiguration.

Konfiguration des BIND Anschlusses

Die folgenden Parameter werden im Konfigurations-Ordner unter bind.properties definiert:

NameFormatBeschreibungVorgabewert
jobXmlDao.directoryStringDer Pfad zum Job-Spool-Verzeichnis der Anwendung./var/spool/javad/dns-rest-bind/job-data
bind.zoneDirectoryStringDer Pfad zum Verzeichnis der Zonendateien. Dieser Pfad muss auch innerhalb der bind.conf definiert sein./var/named/data
bind.rndcStringDer absolute Pfad zum rndc-Kommando (Remote Name Daemon Control)./usr/sbin/rndc
bind.configStringDer Pfad zur spezifischen AutoDNS BIND-Definitionsdatei. Diese Datei wird automatisch von der Anwendung erzeugt./var/named/autodns.conf
bind.reloadDelayIntegerZeitintervall in Millisekunden, nach dem der BIND-Server mittels RNDC-Befehl neu geladen wird.60000 (entspricht 60 Sekunden)
bind.chgrpStringDer Pfad zum System-Kommando chgrp./bin/chgrp
bind.chmodStringDer Pfad zum System-Kommando chmod./bin/chmod
bind.groupStringDer Name der Benutzergruppe, unter der BIND ausgeführt wird.named
bind.named-checkconfStringDer Pfad zum Werkzeug named-checkconf zur Überprüfung der Konfigurationssyntax.named-checkconf
bind.named-checkzoneStringDer Pfad zum Werkzeug named-checkzone zur Überprüfung von Zonendateien.named-checkzone
bind.axfrTimeoutIntegerDas Zeitlimit für Zonentransfers (AXFR) in Sekunden.60
bind.localAxfrIPDie lokale IP-Adresse, die für BIND-Schnittstellen verwendet wird.0.0.0.0

Server-Startparameter

In den Tabellen sind die Startparameter für den Server definiert.

Diese können unter /etc/sysconfig/javad/dns-rest-bind unter dem Punkt PARAM geändert werden.

NameErforderlichTypBeschreibungVorgabewert
Port, -pJaIntegerDer Server-Port, an dem der Dienst auf eingehende Aufträge wartet.9090
sslNeinBooleanLegt fest, ob HTTPS anstelle von HTTP verwendet wird. Bei Aktivierung sind zusätzliche SSL-Parameter erforderlich.false
keystoreNeinPathDer Pfad zum SSL-Keystore.
keystore-passwordNeinStringDas Kennwort für den SSL-Keystore. Die Speicherung erfolgt AES-verschlüsselt.
cert-passwordNeinStringDas Passwort für das Zertifikat. Die Speicherung erfolgt AES-verschlüsselt.
passwdJaStringDer Pfad zur Datei, die die Benutzerinformationen für die Authentifizierung enthält./etc/javad/dns-rest-bind/passwd
hostnameNeinIPDie IP-Adresse, an die der Server gebunden werden soll (Listen Address).0.0.0.0
configJaPathDer Pfad zur Multiserver-Konfigurationsdatei.$CONFIGDIR/multiserver.conf

Allgemeine Parameter

NameErforderlichTypBeschreibungVorgabewert
USERJaStringDer Benutzer (System-User), unter dessen Kennung der Server-Prozess gestartet wird.autodns
VMOPTSJaStringDefiniert JDK-spezifische Parameter, wie zum Beispiel die Speichernutzung (Heap-Einstellungen) oder System-Properties.\-Dconf-dir=file:$CONFIGDIR
PARAMSJaStringSpezifische Startparameter für die Anwendung (siehe Abschnitt „Konfiguration der Startparameter des Servers“).
JMXNeinBooleanLegt fest, ob die Java Virtual Machine (VM) mit JMX (Java Management Extensions) für Monitoring-Zwecke gestartet wird.false
JMXPORTNeinIntegerDer Port, über den JMX-Schnittstellen (z. B. für JConsole) erreichbar sind.10120
DEBUGNeinBooleanStartet die VM im Remote-Debug-Modus (hilfreich für die Fehlersuche in Entwicklungsumgebungen).false
DEBUGPORTNeinIntegerDer Port, an dem der Java-Debugger auf eingehende Verbindungen wartet.10220

War dieser Artikel hilfreich?