DNS-REST-PowerDNS Installations-Guide (Linux)
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
| Variable | Beschreibung | Standardmäßiger Pfad |
|---|---|---|
| CONFIGDIR | Konfigurationsdateien | /etc/javad/dns-rest-powerdns |
| HOME | Homeverzeichnis | /var/lib/javad/dns-rest-powerdns |
| APPDIR | Programmdateien | /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:
| Name | Vorgabewert | Benötigt | Beschreibung |
|---|---|---|---|
| powerdns.pdnsControl | /usr/bin/pdns_control | ja | Ort der Datei PowerDNS Clients. Emöglicht den Einsatz von individuellen Clustern. |
| powerdns.axfrTimeout | 50 | nein | Zeitspanne nach der der Verbindungsaufbau für einen Zonen-Transfer abgebrochen wird. |
| powerdns.localAxfr | nein | Legt die lokal zu bindene IP-Adresse fest, welche bei einem Zonen-Transfer genutzt wird. | |
| powerdns.schemaUpdate | false | nein | Aktiviert das automatische Anlegen und Aktualisieren des PowerDNS Datenbankschemas abhängig von der verwendeten PowerDNS Version |
| powerdns.version | nein | Die 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.
| Name | Vorgabewert | Benötigt | Beschreibung |
|---|---|---|---|
| default.user | - | ja | Der Benutzer, der Zugriff auf die Datenbank hat. |
| default.password | - | ja | Das Passwort des Datenbankbenutzers. |
| powerdns.jdbcUrl | ja | Die 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.
| Name | Vorgabewert | Benötigt | Beschreibung |
|---|---|---|---|
| Port, -p | 9090 | ja | Port auf dem der Server auf Anfragen wartet. |
| ssl | false | nein | Soll der HTTPS anstelle von http verwendet werden. Bei SSL werden weitere Parameter benötigt. |
| keystore | nein | SSL-Keystore | |
| keystore-password | nein | Passwort für den SSL-Keystore. Das Passwort liegt als AES verschlüsselt vor. | |
| cert-password | nein | Passwort für das Zertifikat. Das Passwort liegt als AES verschlüsselt vor. | |
| passwd | /etc/javad/dns-rest-powerdns/passwd | Ja | Pfad zur Benutzerdatei |
| hostname | 0.0.0.0 | Nein | IP-Adresse an welche der Server binden soll. |
Allgemeine Parameter
| Name | Vorgabewert | Benötigt | Beschreibung |
|---|---|---|---|
| USER | AutoDNS | Ja | Benutzer mit dem der Server gestartet wird |
| VMOPTS | -Dconf-dir=file:$CONFIGDIR | Ja | Definiert JDK spezifische Parameter, z.B. Speicherverbrauch |
| PARAMS | Siehe Server Parameter | Ja | Startparameter für den Server: siehe Konfiguration Serverparameter |
War dieser Artikel hilfreich?
Danke für die Rückmeldung.