gdnsd-plugin-reflect(8) gdnsd cache reflector plugin

SYNOPSIS

Zonefile RRs using reflect resolution


reflect 10 DYNA reflect
reflect-dns 10 DYNA reflect!dns
reflect-edns 10 DYNA reflect!edns
reflect-both 10 DYNA reflect!both
reflect-best 10 DYNA reflect!best

DESCRIPTION

gdnsd-plugin-reflect is a resolution plugin that acts as a live debugging tool. It reflects a view of the client's network address back in the response in the form of "A" or "AAAA" RRs. It can be used with both "DYNA" and "DYNC" RRs, and will return address data in both cases.

The plugin can operate in one of four modes named "dns", "edns", "both", and "best", which can be selected by using the mode name as a resource name in the zonefile, as shown in the example above. The default mode is "best". The modes operate as follows:

dns
In the "dns" mode, the address in the response is always the source IP address of the request as seen by gdnsd. Note that this is generally the public address of a central cache/resolver server rather than the end-user client itself.
edns
In the "edns" mode, the address in the response is the address sent by the client in the "edns-client-subnet" option. If the client did not send such an option, the IPv4 address 0.0.0.0 is returned.
both
In the "both" mode, both of the above results are returned in the same response, but there is no artificial 0.0.0.0 added if no "edns-client-subnet" option was available.
best
In the "best" (default) mode, if the "edns-client-subnet" option was specified its data is returned as in the "edns" case, otherwise the source IP address is returned as in the "dns" case.

COPYRIGHT AND LICENSE

Copyright (c) 2014 Brandon L Black <[email protected]>

This file is part of gdnsd.

gdnsd is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

gdnsd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with gdnsd. If not, see <http://www.gnu.org/licenses/>.