PowerDNS

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
PowerDNS Server
Entwickler Bert Hubert
Aktuelle Version 3.3.1[1]
(17. Dezember 2013)
Betriebssystem NetBSD, FreeBSD, OpenBSD, Linux, Mac OS X, Windows NT
Programmier­sprache C++
Kategorie DNS-Server
Lizenz GPL (freie Software)
Deutschsprachig Nein
www.powerdns.com doc.powerdns.com

PowerDNS Server ist ein unter der GNU General Public License veröffentlichter Nameserver, der verschiedene Datenquellen nach den benötigten Informationen für die DNS-Antworten befragen kann. Die Applikation ist in C++ geschrieben und kann mit allen POSIX-kompatiblen Betriebssystemen wie Linux oder BSD eingesetzt werden sowie unter Windows laufen.

Besondere Merkmale[Bearbeiten]

PowerDNS Server unterscheidet sich von anderen DNS-Implementationen nicht nur durch die Vielzahl der möglichen Datenquellen, auch Backends genannt, sondern auch durch seinen Paket-Cache. Dieser speichert die DNS-Antworten auf die letzten Anfragen in einem RAM-Cache zwischen und sendet diese auf erneute Anfragen nach dem gleichen Eintrag zurück. Im Gegensatz zu Nameservern wie BIND werden Anfragen nach Einträgen in anderen Nameservern durch ein separates Programm in der PowerDNS-Distribution, den Recursor, aufgelöst. Eine Unterstützung für die DNS Erweiterung DNSSEC wird nur im Nameserver, jedoch nicht im Recursor umgesetzt.

Verfügbare Backends[Bearbeiten]

bind und bind2
Liest Zonendaten aus einer Zonendatei des weit verbreiteten BIND Nameservers[2]
db2
Kann Anfragen aus einer IBM DB2-Datenbank beantworten[3]
geo
Erlaubt je nach IP-Adressen Bereich oder geographischer Herkunft der IP-Adresse verschiedene Antworten zurückzusenden[4]
gmysql
Verwendet MySQL als Datenbank[5]
gpgsql
Verwendet PostgreSQL als Datenbank[5]
goracle
Verwendet Oracle als Datenbank[6]
gsqlite
Verwendet SQLite als Datenbank[7]
ldap
Holt Informationen aus einem hierarchisch strukturierten LDAP-Verzeichnis
odbc
Greift auf Zoneninformationen in einer von ODBC unterstützten Datenbank zu. Diese Methode ist nur mit Windows als Betriebssystem möglich[8]
opendbx
Ein auf Geschwindigkeit, Lastverteilung und Ausfallsicherheit optimiertes Datenbank Backend, das auf der OpenDBX Bibliothek aufbaut und MySQL, PostgreSQL, SQLite, Firebird, Interbase, Microsoft SQL Server und Sybase ASE Datenbanken unterstützt
pipe
Fragt einen Koprozess nach Antworten auf DNS-Anfragen[9]
random
Generiert zufällige Antworten (nur zum Testen sinnvoll)

PowerDNS Recursor[Bearbeiten]

PowerDNS Recursor
Aktuelle Version 3.5.3
(17. Dezember 2013)
Betriebssystem NetBSD, FreeBSD, OpenBSD, Linux, Mac OS X, Windows NT
Programmier­sprache C++
Kategorie DNS-Server
Lizenz GPL (freie Software)
Deutschsprachig Nein
www.powerdns.com doc.powerdns.com

PowerDNS Recursor ist ein rekursiver bzw. caching-only Nameserver, welcher sowohl als separates Paket verfügbar, als auch in der PowerDNS Server Source enthalten ist. Der Recursor steht ebenso wie der autoritative Server unter GPL Lizenz und wird bereits von mehreren großen ISPs anstelle von BIND als resolver eingesetzt.

Ebenso wie der autoritative Server ist der Recursor in C++ geschrieben und benutzt – obwohl er singlethreaded ist – einige Funktionen der Threading-Bibliothek Boost.

Trotz seiner Bestimmung als caching-only Nameserver kann der Recursor durch Mitbenutzung des BIND-Backend Code vom PowerDNS Server Zonenfiles in BIND-Syntax laden und im DNS verfügbar machen.

Es ist möglich, den Recursor hinter einer PowerDNS Server Instanz laufen zu lassen, sodass letzterer zunächst die autoritative Seite abfängt und dann der Recursor das resolven übernimmt. Empfehlenswert ist es aber, den Recursor frei laufen zu lassen: Zum einen ist dies der Performance zuträglich und zum anderen läuft man so nicht Gefahr, dass die Benutzer evtl. veraltete Zonen zu sehen bekommen, welche längst nicht mehr im weltweiten DNS Baum delegiert sind.

Ab Version 3.1.7 erlaubt PowerDNS Recursor das Einbetten von Lua-Code über den sich das Antwortverhalten des Servers sowohl vor dem eigentlichen rekursiven Durchwandern des DNS Baumes, als auch nach Erhalt einer NXDOMAIN-Antwort manipulieren lässt.[10]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-Format3. Release notes. In: powerdns.com. 17. Dezember 2013, abgerufen am 3. Januar 2014 (englisch).
  2. Bind zone file backend
  3. DB2 backend
  4. Geo backend
  5. a b Generic MySQL and PgSQL backends
  6. Orcale backend
  7. SQLite backend
  8. ODBC backend
  9. pipe backend
  10. Recursor Scripting Dokumentation