Scroll to navigation



gdnsd-plugin-reflect - gdnsd cache reflector plugin


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


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:

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.
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 is returned.
In the "both" mode, both of the above results are returned in the same response, but there is no artificial added if no "edns-client-subnet" option was available.
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.


gdnsd.config(5), gdnsd.zonefile(5), gdnsd(8)

The gdnsd manual.


Copyright (c) 2014 Brandon L Black <>

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 <>.

2021-09-13 gdnsd 3.5.2