SYNTHRECORD(8) BIND 9 SYNTHRECORD(8) NAME synthrecord - dynamically synthesize PTR records SYNOPSIS plugin query "synthrecord.so" [{ parameters }]; DESCRIPTION synthrecord.so is a query plugin module for named <#std-iscman-named>, en- abling named <#std-iscman-named> to synthesize forward and reverse re- sponses for non-existent names in a zone. This plugin can only configured inside a zone clause. The name of the zone affects the mode in which the plugin operates: if the zone name ends with "ip6.arpa" or "in-addr.arpa", then the plugin operates in "reverse" mode, and for any other zone name, it operates in "forward" mode. In "reverse" mode, the module intercepts queries of type PTR. If no author- itative answer can be found in the zone database, and if the IP address en- coded in the query name matches one of the prefixes or addresses specified in allow-synth, then the module dynamically generates a response, con- structed by concatenating the configured prefix, the IP address encoded in the query reverse name, and the configured origin. In forward mode, the module intercepts queries of type A or AAAA. If no authoritative answer can be found in the zone, and the query begins and ends with the configured prefix and origin, and an IP address can be parsed from the part in between, then that IP address will be returned to the client. Note: Synthesized responses are not signed, so the use of this module is incompatible with DNSSEC. EXAMPLE zone "1.168.192.in-addr.arpa." { type primary; file "1.168.192.in-addr.arpa.db"; plugin query "synthrecord" { prefix "dynamic-"; origin "example."; }; }; zone "e.f.a.c.ip6.arpa." { type primary; file "e.f.a.c.ip6.arpa.db"; plugin query "synthrecord" { prefix "dynamic-"; origin "example."; }; }; zone "example." { type primary; file "example.db"; plugin query "synthrecord" { prefix "dynamic-"; origin "example."; allow-synth { 192.168.1/24; cafe::/16; }; ttl 3600; }; }; In the above configuration, a PTR query for the name 5.1.168.192.in-addr.arpa (representing the IPv4 address 192.168.1.5) re- ceives the synthesized response dynamic-192-168-1-5.example.. Hyphens re- place dots in this address representation. Similarly, a PTR query for the name e.f.a.c.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.ip6.arpa (representing the IPv6 address cafe::cafe) receives the synthesized re- sponse "dynamic-cafe--cafe.example." In this format, hyphens replace colons; two consecutive hyphens are the same as two consecutive colons. Note, however, that a DNS label cannot begin or end with a hyphen; there- fore, an address like ::1 would be represented as 0--1, and 2001:db8:: would be 2001-db8--0. Finally, an AAAA query for dynamic-cafe--cafe.example would receive a syn- thesized response with the IPv6 address cafe::cafe, and and an A query for dynamic-192-168-1-5.example would receive 192.168.1.5. PARAMETERS prefix Specifies the prefix of the synthesized name. It must be a sin- gle-label name. This parameter is mandatory. origin Specifies the origin of the synthesized name. This may be the same as the zone origin, or a descendent. It cannot be below a delegation point. This parameter is mandatory for reverse zones, but when con- figured in forward mode, it defaults to the zone name. allow-synth This option is an address-match list, which can be used to restrict response synthesis to certain addresses. The default is any, mean- ing that in reverse mode, any address within the zone can receive a synthesized answer, and in forward mode, any name with a parseable address encoded in it will return that address in an A or AAAA an- swer. Note that in reverse mode, at least some of the addresses within the zone's namespace must be allowed; otherwise the plugin will be unable to synthesize any responses. ttl Specifies the TTL of the synthesized resource record in the answer section. The default is 300. SEE ALSO BIND 9 Administrator Reference Manual. Author Internet Systems Consortium Copyright 2026, Internet Systems Consortium 9.21.25 2026-08-05 SYNTHRECORD(8)
NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | PARAMETERS | SEE ALSO | Author | Copyright
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=synthrecord&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>
