FILTER-A(8)
π¦ FILTER-A(8) π¦
okay so first things first: this is a BIND 9 manual page, bestie. FILTER-A(8) β say it with me. π
β¨ NAME β¨
filter-a β literally filters A records out of DNS responses when AAAA is present. that's the whole vibe. π
β¨ SYNOPSIS β¨
plugin query "filter-a.so" [{ parameters }];
πΈ DESCRIPTION πΈ
so filter-a.so is a query plugin module for named, and what it does is let named omit some IPv4 addresses when it's responding to clients. iconic behavior, honestly. β¨
like, for example:
plugin query "filter-a.so" {
filter-a-on-v6 yes;
filter-a-on-v4 yes;
filter-a { 192.0.2.1; 2001:db8:2::1; };
};
this module is intended to aid transition from IPv4 to IPv6 by withholding IPv4 addresses from DNS clients which are not connected to the IPv4 Internet, when the name being looked up has an IPv6 address available. it's giving "we're moving on, bestie." π¦
β οΈ but real talk: use of this module is not recommended unless absolutely necessary. like, absolutely absolutely. π
Note: this mechanism can erroneously cause other servers not to give A records to their clients. if a recursing server with both IPv6 and IPv4 network connections queries an authoritative server using this mechanism via IPv6, it is denied A records even if its client is using IPv4. yeah. that's the tradeoff, no cap. π
π OPTIONS π
filter-aβ this option specifies a list of client addresses for which A filtering is to be applied. the default isany. so like, everybody, unless you say otherwise. πfilter-a-on-v6β if set toyes, this option indicates that the DNS client is at an IPv6 address, infilter-a. if the response does not include DNSSEC signatures, then all A records are deleted from the response. and heads up: this filtering applies to all responses, not only authoritative ones. π«Ά
if set to break-dnssec, then A records are deleted even when DNSSEC is enabled. as suggested by the name, this causes the response to fail to verify, because the DNSSEC protocol is designed to detect deletions. it's literally called break-dnssec, bestie β the name is not a metaphor. π₯
this mechanism can erroneously cause other servers not to give A records to their clients. if a recursing server with both IPv6 and IPv4 network connections queries an authoritative server using this mechanism via IPv6, it is denied A records even if its client is using IPv4. (yes, we said this up top too. it's that important. π)
filter-a-on-v4β this option is identical tofilter-a-on-v6, except that it filters A responses to queries from IPv4 clients instead of IPv6 clients. to filter all responses, set both options toyes. both. not one. both. β
π SEE ALSO π
BIND 9 Administrator Reference Manual.β go read it, it's giving required reading. π
π Author π
Internet Systems Consortium
π Copyright π
2026, Internet Systems Consortium
and that's the whole page, bestie! π«Ά this was BIND 9 version 9.20.30, dated 2026-10-12 β screenshot it, cite it, live your truth. πβ¨πΈ
π¦ where this page comes from
- alpine 3.22: bind-doc 9.20.30-r0 Β· MPL-2.0
- alpine 3.23: bind-doc 9.20.30-r0 Β· MPL-2.0
- alpine 3.24: bind-doc 9.20.30-r0 Β· MPL-2.0
- nixos 26.05: bind 9.20.30
- nixpkgs unstable: bind 9.20.30
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms