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

DNS-REST-PowerDNS Installations-Guide (Linux)

3 Min. Lesezeit

Systemvoraussetzungen

Die Applikation benötigt für den Betrieb die PowerDNS-Binärdateien (pdns\_control) sowie eine Java Virtual Machine (JDK). Eine weitere Abhängigkeit besteht zum javad-utils-Paket, das mitgeliefert wird.

Es bestehen keine besonderen Anforderungen an die Hardware; empfohlen wird ein x86-System mit mindestens 512 MB Arbeitsspeicher.

Empfehlung

Für die Entwicklung der Software wird das OpenJDK Amazon Corretto-8 verwendet; daher empfiehlt sich auch für den Betrieb 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.

Zum Importieren des Repositorys folgenden Befehl ausführen:

rpm --import yum.corretto.aws/corretto.key

curl -L -o /etc/yum.repos.d/corretto.repo yum.corretto.aws/corretto.repo

Anschließend das JDK installieren:

yum install java-1.8.0-amazon-corretto-devel

Installation

Installation mit Hilfe des Paketmanagers yum

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

yum install dns-rest-powerdns.rpm

Starten des Servers

Nach der erfolgreichen Installation kann der Server über das INIT-Skript gestartet werden.

Der Server muss konfiguriert werden, bevor er gestartet wird.

Das Skript befindet sich unter /etc/init.d/javad-dns-rest-powerdns.

Folgende Optionen werden unterstützt:

  • start: startet den Server
  • stop: hält den Server an
  • restart: startet den Server neu
  • status: zeigt den Status des Servers an

Konfigurieren

Vordefinierte Variablen

VariableBeschreibungStandardmäßiger Pfad
CONFIGDIRKonfigurationsdateien/etc/javad/dns-rest-powerdns
HOMEHomeverzeichnis/var/lib/javad/dns-rest-powerdns
APPDIRProgrammdateien/usr/share/java/dns-rest-powerdns

Konfiguration der Passwörter

Der Server verwendet HTTP-BASIC-Auth zur Autorisierung. Benutzer und Kennwö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 auf Basis des Log4j-Loggers. Die Logdateien werden unter /var/log/javad/dns-rest-powerdns.info.log gespeichert. Das Logging ist so eingestellt, dass maximal 1 GB Festplattenplatz belegt werden kann, d. h. 10 Dateien mit jeweils 100 MB.

Wenn das Logging z. B. über syslog erfolgen soll, ist die Log4j-Konfiguration zu beachten.

Konfiguration der PowerDNS Anbindung

Unter powerdns.properties innerhalb des Konfigurationsverzeichnisses werden die folgenden Parameter definiert:

NameVorgabewertBenötigtBeschreibung
powerdns.pdnsControl/usr/bin/pdns_controljaOrt der Datei PowerDNS Clients. Emöglicht den Einsatz von individuellen Clustern.
powerdns.axfrTimeout50neinZeitspanne nach der der Verbindungsaufbau für einen Zonen-Transfer abgebrochen wird.
powerdns.localAxfr neinLegt die lokal zu bindene IP-Adresse fest, welche bei einem Zonen-Transfer genutzt wird.
powerdns.schemaUpdatefalseneinAktiviert das automatische Anlegen und Aktualisieren des PowerDNS Datenbankschemas abhängig von der verwendeten PowerDNS Version
powerdns.version neinDie verwendete PowerDNS Version, z. B. 4.1

Konfiguration der PowerDNS Datenbank

Unter database.properties innerhalb des Konfigurationsverzeichnisses werden die folgenden Parameter definiert. Die Parameter sind an C3P0 angelehnt. Über das Präfix “default” können Standardparameter für die nachfolgende Datenquelle definiert werden. Eine Beispielkonfiguration wird mit dem RPM ausgeliefert. Eine detaillierte Beschreibung der Parameter ist unter http://www.mchange.com/projects/c3p0/ zu finden.

NameVorgabewertBenötigtBeschreibung
default.user-jaDer Benutzer, der Zugriff auf die Datenbank hat.
default.password-jaDas Passwort des Datenbankbenutzers.
powerdns.jdbcUrl jaDie Verbindungs-URL zum Datenbank-Server, z. B. ” mysql://localhost/powerdns?dontTrackOpenResources=true&jdbcCompliantTruncation=false&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true “localhost” stellt den Hostnamen oder die IP-Adresse des Datenbankservers dar und “powerdns” die entsprechende Datenbank. Die Query-Parameter (alles nach dem ”?”) sollten nicht verändert werden.

Parameter

Server-Startparameter

Die Startparameter für den Server sind in der folgenden Tabelle definiert.

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

NameVorgabewertBenötigtBeschreibung
Port, -p9090jaPort auf dem der Server auf Anfragen wartet.
sslfalseneinSoll der HTTPS anstelle von http verwendet werden. Bei SSL werden weitere Parameter benötigt.
keystore neinSSL-Keystore
keystore-password neinPasswort für den SSL-Keystore. Das Passwort liegt als AES verschlüsselt vor.
cert-password neinPasswort für das Zertifikat. Das Passwort liegt als AES verschlüsselt vor.
passwd/etc/javad/dns-rest-powerdns/passwdJaPfad zur Benutzerdatei
hostname0.0.0.0NeinIP-Adresse an welche der Server binden soll.

Allgemeine Parameter

NameVorgabewertBenötigtBeschreibung
USERAutoDNSJaBenutzer mit dem der Server gestartet wird
VMOPTS-Dconf-dir=file:$CONFIGDIRJaDefiniert JDK spezifische Parameter, z.B. Speicherverbrauch
PARAMSSiehe Server ParameterJaStartparameter für den Server: siehe Konfiguration Serverparameter

War dieser Artikel hilfreich?