Termine planen, Nachrichten austauschen, Kundendaten verwalten, am besten auch vom Smartphone aus. Das alles und noch viel mehr sollen moderne ... (mehr)

Master

Wie schon erwähnt kann PowerDNS diverse Datenbanken als Backend nutzen. Zunächst soll es aber erst einmal darum gehen, einen Nameserver in BIND-kompatibler Konfiguration zu betreiben. Das bietet sich zum Beispiel an, wenn man von einer existierenden BIND-Installation auf PowerDNS migrieren möchte. Die beiden Server, der Master und der Slave, sollen öffentlich zugänglich sein und müssen deshalb auf Rechnern – oder auch virtuellen Maschinen – außerhalb der firmeneigenen Firewall betrieben werden. Der folgende Befehl installiert die nötige Software auf einer Ubuntu-Maschine:

sudo apt-get install pdns-server

Die Konfiguration für den Primary-DNS von »example.com« , die in »/etc/powerdns« gespeichert wird, ist in Listing 2 zu sehen. Außer der Vorwärtsauflösung von Namen zu IP-Adressen sollte man sich auch um den umgekehrten Weg, also die Zuordnung von IP-Adressen zu Namen, den sogenannten Reverse Lookup kümmern. Das geht aber nur, wenn man überhaupt die DNS-Autorität für den eigenen IP-Adressen-Block hat. Sonst muss man sich an seinen Provider wenden. Prinzipiell funktionieren die meisten Dienste auch ohne das umgekehrte Mapping, allerdings dauert dann beispielsweise das Login auf einem Rechner länger, wenn der entsprechende Dienst einen Reverse Lookup versucht und dann bis zum Timeout wartet.

Listing 2

example.com.zone

 

Die Konfigurationsdatei »/etc/powerdns/bindbackend.conf« bestimmt, welche Zonen der PowerDNS-Server lädt. Sie ist in Listing 3 zu sehen. In der Hauptkonfigurationsdatei »/etc/powerdns/pdns.conf« stehen ein paar grundlegende Variablen, die die Funktion des Nameservers bestimmen (»launch=bind« ), und die Verweise auf weitere Konfigurationsdateien, etwa die eben entstandene BIND-Konfiguration. Die relevanten Zeilen sind in Listing 4 wiedergegeben. Ein Neustart per »sudo service pdns restart« lässt den Server die Konfiguration neu einlesen. Zum gleichen Ziel führt es, dem Server mit dem Kill-Befehl ein HUP-Signal zu schicken.

Listing 3

bindbackend.conf

 

Listing 4

pdns.conf (Ausschnitt)

 

Secondary

Für den Anfang sind die Arbeitsschritte auf dem »Secondary Name Server« die gleichen wie auf dem Master: »pdns-server« installieren und die Konfigurationsdatei »/etc/powerdns/bindbackend.conf« anlegen. Letztere unterscheidet sich nur in einem Punkt von der Master-Konfiguration in Listing 3: Beim Slave steht in Zeile 5 statt »master« eben »slave« . Der Slave-Server soll außerdem mit eigenen User- und Group-IDs laufen, weshalb Sie die Besitzrechte der Konfigurationsdateien anpassen müssen:

sudo chown -R pdns:pdns /etc/powerdns

Dementsprechend finden sich User- und Group-ID auch in der Konfigurationsdatei »/etc/powerdns/pdns.conf« , die in Listing 5 zu sehen ist. Ein weiterer Unterschied zur Master-Konfiguration ist hier die Anweisung »slave=yes« .

Listing 5

Secondary-Konfiguration

 

Haben Sie auch die Secondary-Konfiguration per Neustart des Service oder HUP-Signal neu eingelesen, können Sie den Dienst testen, zum Beispiel mit dem Dig-Befehl. Wie das aussehen könnte, zeigt der Kasten »DNS testen« . Analog zum Recursor steuern Sie Master- und Slave-Server mit einem Utility namens »pdns_control« .

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022