.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PDNS_RECURSOR" "1" "Nov 04, 2024" "" "PowerDNS Recursor"
.SH NAME
pdns_recursor \- The PowerDNS Recursor binary
.SH SYNOPSIS
.sp
\fBpdns_recursor\fP [\fIOPTION\fP]...
.SH DESCRIPTION
.sp
\fBpdns_recursor\fP is a high performance, simple and secure recursing
nameserver. It currently powers hundreds of millions internet connections.
.sp
The recursor is configured via a configuration file, but each item in
that file can be overridden on the command line.
.sp
This manpage lists the core set of features needed to get the PowerDNS Recursor
working, for full and up to date details head to \fI\%https://doc.powerdns.com/\fP\&.
.SH EXAMPLES
.sp
To listen on 192.0.2.53 and allow the 192.0.2.0/24 subnet to recurse, and run
as in the background, execute:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
# pdns_recursor \-\-local\-address=192.0.2.53 \-\-allow\-from=192.0.2.0/24 \-\-daemon
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
To stop the recursor by hand, run:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
# rec_control quit
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
However, the recommended way of starting and stopping the recursor is to use
\fBsystemctl(1)\fP or the init.d script.
.SH OPTIONS
.sp
For authoritative listing of options, consult the online documentation
at \fI\fP
.INDENT 0.0
.TP
.BI \-\-allow\-from\fB=
If set, only allow these comma separated \fInetworks\fP,
with network mask to recurse. For example: 192.0.2.0/24,203.0.113.128/25.
.TP
.BI \-\-auth\-zones\fB=
Where \fIauthzone\fP is =.
Serve \fIzonename\fP from \fIfilename\fP authoritatively. For example:
ds9a.nl=/var/zones/ds9a.nl,powerdns.com=/var/zones/powerdns.com.
.TP
.BI \-\-chroot\fB=
chroot the process to \fIdirectory\fP\&.
.TP
.BI \-\-client\-tcp\-timeout\fB=
Timeout in seconds when talking to TCP clients.
.TP
.B \-\-config
Show the current configuration. Since 4.8.0 there are three optional values:
\fB\-\-config=default\fP to show the default configuration.
\fB\-\-config=diff\fP show modified options in the current configuration.
\fB\-\-config=check\fP to check the current configuration for errors.
.TP
.BI \-\-config\-dir\fB=
Location of configuration directory (recursor.conf), the default
depends on the SYSCONFDIR option at build\-time, which is usually
/etc/powerdns. The default can be found with
\fBpdns_recursor \-\-config | grep \(aq config\-dir=\(aq\fP\&.
.TP
.B \-\-daemon
Operate as a daemon.
.TP
.BI \-\-entropy\-source\fB=
Read new entropy from \fIfile\fP, defaults to /dev/urandom.
.TP
.B \-\-export\-etc\-hosts
If set, this flag will export the hostnames and IP addresses
mentioned in /etc/hosts.
.TP
.BI \-\-forward\-zones\fB=
Where \fIforwardzone\fP is =.
Queries for \fIzonename\fP will be forwarded to \fIaddress\fP\&. \fIaddress\fP
should be an IP address, not a hostname (to prevent chicken and egg
problems). Example: forward\-zones= ds9a.nl=213.244.168.210,
powerdns.com=127.0.0.1.
.TP
.BI \-\-forward\-zones\-file\fB=
Similar to \fI\-\-forward\-zones\fP, but read the options from \fIfilename\fP\&.
\fIfilename\fP should contain one zone per line, like:
ds9a.nl=213.244.168.210.
.TP
.B \-\-help
Show a summary of options.
.TP
.BI \-\-hint\-file\fB=
Load root hints from this \fIfilename\fP
.TP
.BI \-\-local\-address\fB=
Listen on \fIaddress\fP, separated by spaces or commas.
Addresses specified can include port numbers; any which do not
include port numbers will listen on \fI\-\-local\-port\fP\&.
.TP
.BI \-\-local\-port\fB=
Listen on \fIport\fP\&.
.TP
.B \-\-log\-common\-errors
If we should log rather common errors.
.TP
.BI \-\-max\-cache\-entries\fB=
Maximum number of entries in the main cache.
.TP
.BI \-\-max\-negative\-ttl\fB=
maximum number of seconds to keep a negative cached entry in memory.
.TP
.BI \-\-max\-tcp\-clients\fB=
Maximum number of simultaneous TCP clients.
.TP
.BI \-\-max\-tcp\-per\-client\fB=
If set, maximum number of TCP sessions per client (IP address).
.TP
.BI \-\-query\-local\-address\fB=
Use \fIaddress\fP as Source IP address when sending queries.
.TP
.B \-\-quiet
Suppress logging of questions and answers.
.TP
.BI \-\-server\-id\fB=
Return \fItext\fP WHen queried for \(aqid.server\(aq TXT, defaults to
hostname.
.TP
.B \-\-serve\-rfc1918
On by default, this makes the server authoritatively aware of:
10.in\-addr.arpa, 168.192.in\-addr.arpa and 16\-31.172.in\-addr.arpa,
which saves load on the AS112 servers. Individual parts of these
zones can still be loaded or forwarded.
.TP
.BI \-\-setgid\fB=
If set, change group id to \fIgid\fP for more security.
.TP
.BI \-\-setuid\fB=
If set, change user id to \fIuid\fP for more security.
.TP
.B \-\-single\-socket
If set, only use a single socket for outgoing queries.
.TP
.BI \-\-socket\-dir\fB=
The controlsocket will live in \fIdirectory\fP\&.
.TP
.BI \-\-spoof\-nearmiss\-max\fB=
If non\-zero, assume spoofing after this many near misses.
.TP
.B \-\-trace
if we should output heaps of logging.
.TP
.BI \-\-version\-string\fB=
\fItext\fP WILL be reported on version.pdns or version.bind queries.
.UNINDENT
.SH SEE ALSO
.sp
\fBrec_control(1)\fP
\fBsystemctl(1)\fP
\fI\%https://docs.powerdns.com/recursor\fP
.SH AUTHOR
PowerDNS.COM BV
.SH COPYRIGHT
PowerDNS.COM BV
.\" Generated by docutils manpage writer.
.