PowerDNS manual

PowerDNS BV

          
        

    It is a book about a Spanish guy called Manual. You should read it.
       -- Dilbert
  


Table of Contents
1. The PowerDNS dynamic nameserver
Function & design of PDNS
About this document
Release notes
Authoritative Server version 2.9.22 (UNRELEASED)
Authoritative Server version 2.9.21.2
Authoritative Server version 2.9.21.1
Recursor version 3.1.7
Recursor version 3.1.6
Recursor version 3.1.5
PowerDNS Authoritative Server version 2.9.21
Recursor version 3.1.4
Recursor version 3.1.3
Recursor version 3.1.2
Recursor version 3.1.1
Recursor version 3.0.1
Recursor version 3.0
Version 2.9.20
Version 2.9.19
Version 2.9.18
Version 2.9.17
Version 2.9.16
Version 2.9.15
Version 2.9.14
Version 2.9.13
Version 2.9.12
Version 2.9.11
Version 2.9.10
Version 2.9.8
Version 2.9.7
Version 2.9.6
Version 2.9.5
Version 2.9.4
Version 2.9.3a
Version 2.9.2
Version 2.9.1
Version 2.9
Version 2.8
Version 2.7 and 2.7.1
Version 2.6.1
Version 2.6
Version 2.5.1
Version 2.5
Version 2.4
Version 2.3
Version 2.2
Version 2.1
Version 2.0.1
Version 2.0
Version 2.0 Release Candidate 2
Version 2.0 Release Candidate 1
Version 1.99.12 Prerelease
Version 1.99.11 Prerelease
Version 1.99.10 Prerelease
Version 1.99.9 Early Access Prerelease
Version 1.99.8 Early Access Prerelease
Version 1.99.7 Early Access Prerelease
Version 1.99.6 Early Access Prerelease
Version 1.99.5 Early Access Prerelease
Version 1.99.4 Early Access Prerelease
Version 1.99.3 Early Access Prerelease
Version 1.99.2 Early Access Prerelease
Version 1.99.1 Early Access Prerelease
Security
PowerDNS Security Advisory 2006-01: Malformed TCP queries can lead to a buffer overflow which might be exploitable
PowerDNS Security Advisory 2006-02: Zero second CNAME TTLs can make PowerDNS exhaust allocated stack space, and crash
PowerDNS Security Advisory 2008-01: System random generator can be predicted, leading to the potential to 'spoof' PowerDNS Recursor
PowerDNS Security Advisory 2008-02: By not responding to certain queries, domains become easier to spoof
PowerDNS Security Advisory 2008-02: Some PowerDNS Configurations can be forced to restart remotely
Acknowledgements
2. Installing on Unix
Possible problems at this point
Testing your install
Typical errors
Running PDNS on unix
3. Installing on Microsoft Windows
Configuring PDNS on Microsoft Windows
Running PDNS on Microsoft Windows
4. Basic setup: configuring database connectivity
Example: configuring MySQL
Common problems
5. Dynamic resolution using the PipeBackend
Deploying the PipeBackend with the BindBackend
6. Logging & Monitoring Authoritative Server performance
Webserver
Via init.d commands
Operational logging using syslog
7. Security settings & considerations
Settings
Running as a less privileged identity
Jailing the process in a chroot
Considerations
8. Virtual hosting
9. Performance
General advice
Native Posix Thread Library vs LinuxThreads
Performance related settings
Packet Cache
Query Cache
10. Migrating to PDNS
Zone2sql
11. Recursion
Details
12. PowerDNS resolver/recursing nameserver
pdns_recursor settings
Controlling and querying the recursor
PowerDNS Recursor performance
Details
Anti-spoofing
Throttling
Statistics
Scripting
Configuring Lua scripts
Writing Lua PowerDNS Recursor scripts
Design and Engineering of the PowerDNS Recursor
The PowerDNS Recursor
Synchronous code using MTasker
MPlexer
MOADNSParser
The C++ Standard Library / Boost
Actual DNS Algorithm
The non-cached case
Some of the things we glossed over
The Recursor Cache
Some small things
13. Master/Slave operation & replication
Native replication
Slave operation
Supermaster automatic provisioning of slaves
Master operation
14. Fancy records for seamless email and URL integration
15. Index of all Authoritative Server settings
16. Index of all Authoritative Server metrics
Counters & variables
Counters
Ring buffers
17. Supported record types and their storage
18. HOWTO & Frequently Asked Questions
Getting support, free and paid FAQ
Using and Compiling PowerDNS FAQ
Backend developer HOWTO
About PowerDNS.COM BV, 'the company'
19. Other tools included with PowerDNS
Notification proxy (nproxy)
20. Tools to analyse DNS traffic
A. Backends in detail
PipeBackend
PipeBackend protocol
MySQL backend
Configuration settings
Notes
Random Backend
MySQL PDNS backend
Notes
Generic MySQL and PgSQL backends
MySQL specifics
PostgresSQL specifics
Oracle specifics
Basic functionality
Master/slave queries
Fancy records
Settings and specifying queries
Native operation
Slave operation
Superslave operation
Master operation
Oracle backend
Setting up Oracle for use with PowerDNS
Generic SQLite backend (2 and 3)
Compiling the SQLite backend
Setting up the database
Using the SQLite backend
DB2 backend
Bind zone file backend
Operation
Pdns_control commands
Performance
Master/slave configuration
Commands
ODBC backend
XDB Backend
LDAP backend
OpenDBX backend
Geo backend
B. PDNS internals
Controlsocket
pdns_control
Guardian
Modules & Backends
How PDNS translates DNS queries into backend queries
C. Backend writers' guide
Simple read-only native backends
A sample minimal backend
Interface definition
Reporting errors
Declaring and reading configuration details
Read/write slave-capable backends
Supermaster/Superslave capability
Read/write master-capable backends
D. Compiling PowerDNS
Compiling PowerDNS on Unix
AIX
FreeBSD
Linux
MacOS X
OpenBSD
Solaris
Compiling PowerDNS on Windows
Assumptions
Prequisites
Nullsoft Installer
Setting up the build-environment
Compilation
Miscellaneous
E. PowerDNS license (GNU General Public License version 2)
F. Further copyright statements
AES implementation by Brian Gladman
List of Tables
1-1. PowerDNS Security Advisory
1-2. PowerDNS Security Advisory
1-3. PowerDNS Security Advisory
1-4. PowerDNS Security Advisory
1-5. PowerDNS Security Advisory
17-1. SOA fields
A-1. PipeBackend capabilities
A-2. MySQL backend capabilities
A-3. Random Backend capabilities
A-4. MySQL backend capabilities
A-5. Generic PgSQL and MySQL backend capabilities
A-6. Oracle backend capabilities
A-7. Generic SQLite backend capabilities
A-8. DB2 backend capabilities
A-9. Bind zone file backend capabilities
A-10. ODBC backend capabilities
A-11. LDAP backend capabilities
A-12. OpenDBX backend capabilities
A-13. Geo backend capabilities
C-1. DNSResourceRecord class
C-2. SOAData struct
C-3. DomainInfo struct