[DNSOP] Corner-case in DNS authority guidance impacting IPv6-only resolvers
Erik Nygren <erik+ietf@nygren.org> Fri, 01 May 2026 17:47 UTC
Return-Path: <erik+ietf@nygren.org>
X-Original-To: dnsop@mail2.ietf.org
Delivered-To: dnsop@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id AA93DE76F03B for <dnsop@mail2.ietf.org>; Fri, 1 May 2026 10:47:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777657628; bh=vq8rW/Rz6RMXCl5PV+v3ZQdAIpto242j2UvXS8wj4hI=; h=From:Date:Subject:To:Cc; b=b+3SeDuMOB19A2HtOX5LX0mNI6B8abwDxob9UXL3eDcdm6ZpKyxdGT7kPC45CgIHu s2Hng+K554mkGju6LPiBwxC0jntno8Yr08cjyred2AGIVxNDAblS+Nvdfl3rTiCcFE 2WxacrW+mz8ep4u8vqugKye6Ycm3rvIYGmhCWWBU=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=nygren.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BRFUG8XvbzaO for <dnsop@mail2.ietf.org>; Fri, 1 May 2026 10:47:06 -0700 (PDT)
Received: from eos.nygren.org (eos.nygren.org [199.204.154.100]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C2F21E76F030 for <dnsop@ietf.org>; Fri, 1 May 2026 10:47:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nygren.org; s=eos-4; h=Content-Type:Cc:To:Subject:Message-ID:Date:From:MIME-Version: Sender:Reply-To:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=/uFzJTWSLjqvUTpgpnKjJP/PveHcPBc7mCjdvkAs81w=; b=HvxjBr6hzvk06jRX1F3ZPcI5wU XVZSDfnnsS6urMTFAZpTZvsjHLxxVUh6Vy0WfC3RHvg2MOM/RC86UaWawu80sP4/uCwFfEuebV5/Q spxHUzxbLRBSPfBTInMxQEeDKZ0T6EjxdG2ejULe08kMkPbZ5cAbDN7oHd9JK3Sx1kuG6My2n7rYI /FCKkas9+mrBKf2ns/fCBWCAvfc3uMrBNLyIctXTJpuKNor6dFCQb4pB5ru2molhjO/kzpSxZdKVZ JIr/qFtNeQCrOI1UUHth9b44bOGLwwFKp6hmNPApXwizjlG3k5u+QTl1UPtv3i8EX6js9wNR3kxBA cuabwlrQ==;
Received: from mail-lj1-f174.google.com ([209.85.208.174]) by eos.nygren.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.97) (envelope-from <erik+ietf@nygren.org>) id 1wIrx9-00000005KHR-1fcX for dnsop@ietf.org; Fri, 01 May 2026 13:47:03 -0400
Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-3870778358aso16102231fa.1 for <dnsop@ietf.org>; Fri, 01 May 2026 10:47:03 -0700 (PDT)
X-Gm-Message-State: AOJu0YzvSpXU0zI2nuo8IPabooco5b6XmwCkza09beWiQh/06nlOT6d0 VirlkH+e5KfeaW3pirOLV9ak7P+Zd2tig8Ab84YNwzbNOevy20IjjeWIMZUkM9mXmFJ95a+FYek 2RcgyqSHY3zYjDXklpoigAi8sNqaLXDU=
X-Received: by 2002:a05:651c:41d8:b0:38e:d870:1db0 with SMTP id 38308e7fff4ca-3936438fd11mr14501351fa.18.1777657622233; Fri, 01 May 2026 10:47:02 -0700 (PDT)
MIME-Version: 1.0
From: Erik Nygren <erik+ietf@nygren.org>
Date: Fri, 01 May 2026 13:46:49 -0400
X-Gmail-Original-Message-ID: <CAKC-DJh95eH-FB6vLW0h9wDwOLkSy5WDWKOO7pWLdn-5_kOySg@mail.gmail.com>
X-Gm-Features: AVHnY4JtJuJ8VOsm7h-yPdvcBbv4Xw4aWvJ65-_MGnwbtrMKo39zHqeJD7BZ_t8
Message-ID: <CAKC-DJh95eH-FB6vLW0h9wDwOLkSy5WDWKOO7pWLdn-5_kOySg@mail.gmail.com>
To: dnsop WG <dnsop@ietf.org>, "v6ops@ietf.org list" <v6ops@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID-Hash: 4UZ5HVSY5ZD73EYYHRZUSIHY44CDAF74
X-Message-ID-Hash: 4UZ5HVSY5ZD73EYYHRZUSIHY44CDAF74
X-MailFrom: erik+ietf@nygren.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-dnsop.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Philipp Tiesel <philipp@tiesel.net>, Erik Nygren <erik+ietf@nygren.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [DNSOP] Corner-case in DNS authority guidance impacting IPv6-only resolvers
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/rAbaKS5YD0iYuIg9xOPt0s7HJCg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Owner: <mailto:dnsop-owner@ietf.org>
List-Post: <mailto:dnsop@ietf.org>
List-Subscribe: <mailto:dnsop-join@ietf.org>
List-Unsubscribe: <mailto:dnsop-leave@ietf.org>
In chasing down some problems between some IPv6-only DNS resolvers and DNS authorities which only had AAAA records on a subset of their names, Philipp Tiesel identified an interesting corner-case which we should be aware of (and perhaps document). Unfortunately draft-ietf-dnsop-3901bis-17 is already passed off from the IESG for publication or we'd want to include it there. The issue is when a DNS authorities have NS record names with A records but not AAAA records, although the reverse is likely also true. During a DNS resolution, some resolvers (specifically Unbound but there may be others) may take a miss on authorities/glue and need to resolve the NS record names. When those resolutions fail (due to NXDOMAIN but also due to NODATA) they increase a counter, and when this crosses a threshold they fail the resolution. In Unbound's case this limit is due to Unbound's defenses against glue hunting in response to CVE-2020-12662. When the resolver needs to hunt for an authority by resolving the A/AAAA records for NS records, it is entirely reasonable for it to have some total defenses against a large percentage of them returning NXDOMAIN/NODATA. This likely has perf issues as well (eg, in having to hunt around for a reachable address record). I think the general guidance is probably that all names pointed to by NS records should be strongly encouraged to have both A and AAAA records. The text in https://www.ietf.org/archive/id/draft-ietf-dnsop-3901bis-17.html for: > To maintain name space continuity, every DNS zone MUST be served by at least two authoritative DNS servers providing services via IPv[46] Doesn't cover this corner-case which happens when too many authoritative DNS servers are configured in delegations which lack either IPv4 or IPv6. For example: www.example.com CNAME www-example-com.cdn.example. www-example-com.cdn.example. CNAME a1343.shard5.cdn.example. where cdn.example. delegates to shard5.cdn.example. In this, Unbound's limit of 2*MAX_TARGET_NX (== 10) is cumulative. So if: * example.com has 2 of 5 names having no AAAA, * cdn.example. had 5 of 7 names having no AAAA * shard5.cdn.example. had 5 of 7 names having no AAAA Then some resolution paths will try to resolve 12 authority names and get NODATA and then will bail out due to that being over the safety limit. Sometimes this will work if it finds the right names in the right order, but other times it will fail. This is despite all of the names meeting the "every DNS zone MUST be served by at least two authoritative DNS servers providing services via IPv[46]" criteria. (This of course also has impacts since the resolver needs to hunt for things that resolve.) I'm guessing this is too late for draft-ietf-dnsop-3901bis and too substantive for an errata. I think the reasons for Unbound to do things this way are legitimate (so not a bug on their side). A recusive using NAT64 wouldn't have this problem, but I think we do want to aim for a world where people can reasonably deploy true IPv6-only resolvers. Best, Erik
- [DNSOP] Corner-case in DNS authority guidance imp… Erik Nygren
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … mohamed.boucadair
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Erik Nygren
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Erik Nygren
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Erik Nygren
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Tobias Fiebig
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Erik Nygren
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Tobias Fiebig
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … mohamed.boucadair
- [DNSOP] Re: [v6ops] Corner-case in DNS authority … Erik Nygren