I think I got bit yesterday by the above...
I was noticing terrible resolution speed, so checked messages (btw, "service bind9 status" provides brief, but decent-ish characterization of things), and noticed many messages indicating failing resolutions against IPv6 addresses.
There is a common pair of bits of Bind configuration:
a) One might set options to prefer not to use IPv6 addresses, so in /etc/bind/named.conf.options, change
listen-on-v6 { all;};
to
listen-on-v6 { none; };
b) This was where SystemD got into the mix...
Pass the "-4" option when running named to use only IPv4. This seems to be the highly significant bit.
On Debian-derived systems, the usual recipe is to add "-4" to /etc/defaults/bind
--> OPTIONS="-4"
However, the SystemD config for Bind9 lives in /lib/systemd/system/bind9.service, and apparently there is recent change there that that configuration no longer reads from /etc/defaults/bind, so that to have named get the "-4" option requires altering /lib/systemd/system/bind9.service. Seems like it needs to be altered directly.
This isn't necessarily a "SystemD bug", rather a packaging bug in Debian. It still was fairly annoying.
I have yet to report it properly, probably deserves a bit more research, in case my diagnosis is off a bit.
--
When confronted by a difficult problem, solve it by reducing it to the
question, "How would the Lone Ranger handle this?"