On 8/2/22 03:08, Alexander Bokovoy wrote:
On ma, 01 elo 2022, Harry G. Coin via FreeIPA-users wrote:
TL;Dr:  Freeipa's DNS (especially with dnssec enabled) can appear to be working well and pass accuracy tests, yet generate failures depending on the client's dns provider's response timeout settings.  You can tell whether you're as 'online as you think you are' using this tool: https://dnschecker.org/

Freeipa's dns response latency times are near the timeout/give-up bubble of some of the world largest public / semi-public DNS resolvers.  When 'over time', these large companies report the freeipa web sites & related services do not exist.  DNS resolvers in use by those 'near to' the host generally have better timing generally and so give the appearance of working.

Without DNSSEC enabled, the packet sizes and processing requirements are less, so most services on the same continent as the host operate as expected.  Enabling DNSSec adds enough so that even the 'more local' dns resolvers time out/report error -- and without notice to the freeipa hosting organization. Cloudflare and Google in North America 'worked' without dnssec in my case, but failed more often than it worked with DNSSEC enabled.

I think the problem is the latency involved in the orchestration between bind9 and dirsrv/ldap.  Work arounds include "throwing faster computers at it" and/or pointing internet NS records at slave resolvers that don't depend on interprocess communications.

The way how bind-dyndb-ldap integrates with the bind, a zone is loaded
upfront and then served by the bind similar to any other source. There
is no additional overhead once zone is loaded into the bind process. If
you have no DNS records updated, the cost of serving a query is the same
as with a traditional bind deployment. It is only when an update comes
from LDAP or from a bind's client with the help of dynamic updates and a
change in the zone is needed, a bind-dyndb-ldap driver might get
involved.

So I'd rather look at your networking setup in the first place. Another
place to look is bind's DNSSEC troubleshooting guide:
https://bind9.readthedocs.io/en/latest/dnssec-guide.html#dnssec-troubleshooting

DNSSEC indeed needs more queries' processing, more retransmissions in
UDP case due to larger packets but I would expect FreeIPA-integrated one
to have the same cost as with a traditional bind deployment too --
DNSSEC keys also pre-extracted and placed to the locations where the
bind expects them to find when zone is being loaded; it is only when the
keys change we get DNSSEC Python utilities provided by FreeIPA and
OpenDNSSEC to be involved. But in either case bind has to perform record
signing on the primary, like addressed in the answer of the follow
question:
https://stackoverflow.com/questions/70439025/bind-9-restart-performance-with-dnssec

A relatively recent (last year) DNS performance test of different bind
versions also found that 9.16 branch had some performance regressions:
https://www.isc.org/blogs/bind-resolver-performance-july-2021/

Thanks very much Alexander.   If it helps guide improving the designs going forward:  Freeipa 'as written out of the box with dnssec enabled' did pass all the dnssec accuracy and configuration checkers such as verisign and others, and also did work properly with 4 out of 6 of the world's public dns resolvers  with dnssec enabled, and all of them with dnssec not enabled.  I purposely use 'old hardware' for development, because when it works on that, it will work on anything newer.   On exactly the same physical hardware that failed Google's and Cloudflare's dns resolver with freeipa+dnssec, I added unbound as a slave resolver then retested with dnssec enabled -- all the world's resolvers including google and cloudflare worked properly and over the course of many re-tests.

_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/[email protected]
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to