Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
add dnsdist manpage!
  • Loading branch information
ahupowerdns committed Jun 28, 2013
1 parent b076b34 commit 3e4a8ca
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pdns/dnsdist.cc
Expand Up @@ -331,7 +331,7 @@ void* tcpClientThread(void* p)
ds->outstanding++;
char query[qlen];
readn2(ci.fd, query, qlen);

// FIXME: drop AXFR queries here, they confuse us
retry:;
if(!putMsgLen(dsock, qlen)) {
infolog("Downstream connection to %s died on us, getting a new one!", ds->remote.toStringWithPort());
Expand Down
79 changes: 79 additions & 0 deletions pdns/docs/dnsdist.1.txt
@@ -0,0 +1,79 @@
DNSDIST(1)
==========
powerdns.documentation@powerdns.com

NAME
----
dnsdist - tool to balance DNS queries over downstream servers

SYNOPSIS
--------
'dnsdist' [--help] [--verbose] [--local address] downstream-address downstream-address

DESCRIPTION
-----------
dnsdist receives DNS queries and relays them to one or more downstream
servers. It subsequently sends back responses to the original requestor.

dnsdist operates over TCP and UDP, and strives to deliver very high
performance over both.

Currently, queries are sent to the downstream server with the least
outstanding queries. This effectively implies load balancing, making sure
that slower servers get less queries.

If a reply has not come in after a few seconds, it is removed from the
queue, but in the short term, timeouts do cause a server to get less
traffic.

IPv4 and IPv6 operation can be mixed and matched, in other words, queries
coming in over IPv6 could be forwarded to IPv4 and vice versa.

SCOPE
-----
dnsdist does not 'think' about DNS, and does not perform any kind of
caching, nor is it aware of the quality of the answers it is relaying.

dnsdist assumes that each query leads to exactly one response, which is true
for all DNS except for AXFR, which is therefore not supported.

The goal for dnsdist is to remain simple. If more powerful loadbalancing is
required, dedicated hardware or software is recommended. Linux Virtual
Server for example is often mentioned.

OPTIONS
-------

--verbose::
Be wordy on what the program is doing

--local::
Supply as many addresses to listen on as required. Specify IPv4 as
0.0.0.0:53 and IPv6 as [::]:53.

--daemon::
Daemonize and run in the background

--help::
Provide a helpful message

Finally, supply as many downstream addresses as required. Remote port defaults to 53.

BUGS
----
Right now, the TCP support has some rather arbitrary limits.

AUTHOR
------
Written by PowerDNS.COM BV, powerdns.documentation@powerdns.com

RESOURCES
---------
Website: http://www.powerdns.com

COPYING
-------
Copyright (C) 2013 PowerDNS.COM BV. Free use of this software
is granted under the terms of the GNU General Public License (GPL) version
2.

0 comments on commit 3e4a8ca

Please sign in to comment.