Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PowerDNS "passthru-notify" Patch Release #655

Closed
Habbie opened this issue Apr 26, 2013 · 3 comments
Closed

PowerDNS "passthru-notify" Patch Release #655

Habbie opened this issue Apr 26, 2013 · 3 comments

Comments

@Habbie
Copy link
Member

Habbie commented Apr 26, 2013

This patch will allow you to redirect PowerDNS notify messages away from
neighboring NS servers to a "passthru" server. It is intended to fix
notify/axfr behavior in anycast clusters of PowerDNS auth servers
however it may be useful for other situations.

The configuration option "passthru-notify" has been added to the
pdns.conf parser. The option accepts multiple IPv4 and IPv6 address values.

The patch was based of the latest stable release so we can contribute this to the PowerDNS community. It tested OK with the latest
trunk as well (only a few offset warnings). The patch is expecting to
find a "pdns-3.1" directory so if you name it something else use -p1 and
patch from the root of the distribution.

Patched servers carry a "3.1-ptn" in their version.bind by default.

pdns.conf:

passthru-notify IP address we send notifications to

passthru-notify=127.0.0.1, ::1

LATEST STABLE:

~$ patch -p0 < pdns-3.1-ptn.patch
patching file pdns-3.1/configure.ac
patching file pdns-3.1/pdns/common_startup.cc
patching file pdns-3.1/pdns/mastercommunicator.cc
patching file pdns-3.1/pdns/misc.cc
patching file pdns-3.1/pdns/misc.hh
patching file pdns-3.1/pdns/pdns.conf-dist

TRUNK:

~/pdns-trunk$ patch -p1 < ../pdns-3.1-ptn.patch
patching file configure.ac
patching file pdns/common_startup.cc
Hunk #1 succeeded at 121 (offset -1 lines).
patching file pdns/mastercommunicator.cc
patching file pdns/misc.cc
Hunk #1 succeeded at 777 (offset 12 lines).
patching file pdns/misc.hh
Hunk #1 succeeded at 438 (offset 1 line).
patching file pdns/pdns.conf-dist

Version report:

version.bind. 5 CH TXT "Served by POWERDNS
3.1-ptn $Id: packethandler.cc 2631 2012-06-20 10:12:20Z peter $"

Ralph Covelli
Hurricane Electric / AS6939
rcovelli@he.net

@ghost ghost assigned Habbie Apr 26, 2013
@Habbie
Copy link
Member Author

Habbie commented Apr 26, 2013

Attachment 'PowerDNS "passthru-notify" Patch' (pdns-3.1-ptn.patch) https://gist.github.com/5466846

@Habbie
Copy link
Member Author

Habbie commented Apr 26, 2013

Attachment 'PowerDNS "Passthru-Notify v6" Patch Release' (pdns-3.2-ptn6.patch) https://gist.github.com/5466847

@Habbie
Copy link
Member Author

Habbie commented Apr 26, 2013

Author: anon
Brief timeline:

(failed) Version 1 was only able to redirect notifications from the originator. This was not sufficient for our needs.
(failed) Version 2 attempted to use the notification queuing system to send the relays. This is not what we wanted.
(failed) Version 3 attempted to bypass the notification queuing system and send the relays with the notification sockets directly. These sockets only exist when the communicator system has been initialized.
(failed) Version 4 used individual resolver objects to relay the notifications. This worked on production servers but did not scale.
(failed) Version 5 used the regular slave check code before relaying to a passthru server. This version suffered the same scaling problems Version 4 did.
(succeeded) Version 6 uses a static passthru resolver object. It scales correctly and appears to run stable on the production servers.

Habbie pushed a commit to Habbie/pdns that referenced this issue Jul 11, 2014
@Habbie Habbie closed this as completed Sep 25, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant