Re: IPv6 only host NAT64 requirements?

Erik Kline <> Wed, 15 November 2017 04:15 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 24A8A1293E4 for <>; Tue, 14 Nov 2017 20:15:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id e_Q2rL9nzQhN for <>; Tue, 14 Nov 2017 20:15:11 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4002:c05::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6DE7112949F for <>; Tue, 14 Nov 2017 20:15:11 -0800 (PST)
Received: by with SMTP id d2so10933267ywb.11 for <>; Tue, 14 Nov 2017 20:15:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=qdGRDL41HUtxhrBd73vzo/E89Kyf3ePw1gpgJpQSims=; b=XUYfGAaMDutbor2kIVBxlRVl7kXnGxr/73PNXJwN43i4vi3Zd6k1usBFc3QUEMz17L jLsJPtiIXwDlyPMdwMDPzB5CsPcRMZdgaT9U+9LRyTZ8//9mME0VoYi4SREpzzy+Um38 AZs3ykAy6FOaqAN2c/sUQ2825Z9yVUPyr9CQ7kH+4mwKZCKCIFiIzz+fYZSbK6oTNr9o jB3FzfFKC8D0VTIMWxXDNx9844QZ7RPvPNh+nPNH7db13asXR5mjvhB62pNw9mknwivO QYI/7F1xfsdMCdS4e9tEicqujIG6tqHXbgRBB3vJfRs+ugxLz16ZLJef2onzN1R8oy+Z ARxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=qdGRDL41HUtxhrBd73vzo/E89Kyf3ePw1gpgJpQSims=; b=SUbN62Lpcts0AhtmY9shdcSvSDxk6WPNir5bI6uLve7QXiJlN6vY99HW77sTFsb7kY QXmA+xtg5UY9nccDhmNFiFxjJ2h1o2LAJKiz3fT5xhFfjO/VVVmsZpFADO/RXVvRMno1 BW5z++QoN5Eo3ZTf0+utgq6C1gYdsoJRwjr9kedmDm39SLz2ZyNGp1zLwfvJsbVh+H7v t0/LqGqE9KuXiK2pPnZUIGlu2aWqKku5q8lB3LPTBk4MYF5TPeoafwwNcsJXF8UqB/lJ 66a2iR9AmNbcRFTBUjiQyx5n5Z5tzSDbRbmSu56oxFjqZWOF+h3Sj/rJ7aROWMeRGtAi 5Bew==
X-Gm-Message-State: AJaThX5WUcDv+s5kYRRVE9FHqRkWhVlabhWYKdvQAoDS6Cqx4WSTFKmY S8n5ocKuPLkCghHvBNzRNuyzFY9wNRPXDKVPJAe2BA==
X-Google-Smtp-Source: AGs4zMb94v4W0EsDNMmM3EWByUPtFyg3F1K75GGtF0c6uk/DgS4FxBMQpaTbICWHFRERA7AkfrtL8Chk1ncaQAXeRQA=
X-Received: by with SMTP id s23mr9403686ywg.77.1510719310124; Tue, 14 Nov 2017 20:15:10 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Tue, 14 Nov 2017 20:14:49 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <> <>
From: Erik Kline <>
Date: Wed, 15 Nov 2017 04:14:49 +0000
Message-ID: <>
Subject: Re: IPv6 only host NAT64 requirements?
To: Jen Linkova <>
Cc: Ole Troan <>, 6man WG <>, Mark Andrews <>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="94eb2c0b9166e0f413055dfdbff8"
Archived-At: <>
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 15 Nov 2017 04:15:14 -0000

Actually, I think the think we should is add the following to the PvD info:

    [1] NAT64 prefix
    [2] set of separate DNS64 servers, for clients who don't yet do
client-side DNS64 synthesis.

Unfortunately, it's too early to create a SHOULD/MUST that IPv6 hosts
support PvDs, but I think we'll just need to revisit that in the

On 15 November 2017 at 03:05, Jen Linkova <> wrote:
> On Wed, Nov 15, 2017 at 1:07 PM, Ole Troan <> wrote:
>> If I may try to suggest a solution based on what you are saying:
>> - Remove (external) DNS64 from the solution
>> - Replace NAT64 prefix discovery with some sort of local configuration. e.g. put it in DHCP or RA
>> Which has the implications that:
>>  - host learns NAT64 prefix via RA/DHCP
>>  - host is free to use whatever DNS recursive resolvers (instead of the must be local (and on correct interface where the NAT64 is) resolver
>>  - host synthesises addresses itself. And does validation before synthesising (if that's required).
>> Is this the solution you would be looking for?
>> And yes, you need host changes. But we need that anyway.
> NAT64 is a band aid, a tactical solution to deal with IPv4-only hosst
> while we are waiting for them to die. Requiring *mandatory* changes on
> majority of devices which are working on NAT64 networks just fine
> currently to solve problems for those who either a) sign their zones
> but do not enable Ipv6 b)doing some smart things in their host
> resolvers looks like an overkill to me..
> IMHO the optimal solution is:
> - the network SHOULD provide a host with NAT64 prefix information in
> RA (I do not believe that information needs to be duplicated in DHCP
> at all);
> - an application MAY use that information to do AAAA synthetics
> (validating resolvers SHOULD do that).
> - network still provides DNS64 servers to hosts so all unsophisticated
> hosts (majority of devices falls into that category) continue to use
> network-provided resolvers.
>>> On 15 Nov 2017, at 08:06, Mark Andrews <> wrote:
>>>> On 15 Nov 2017, at 3:40 am, Lorenzo Colitti <> wrote:
>>>> On Tue, Nov 14, 2017 at 6:46 AM, Mark Andrews <> wrote:
>>>> Is there any reason to run DNS64 at all these days? can be a preconfigured
>>>> zone which allows CLAT to get its mapping.  All the phones have CLAT support.
>>>> That's an interesting idea. It would work in theory, but such a network would completely break devices that don't support 464xlat. That gives up one of the major advantages of NAT64/DNS64, which is that it's a 90% solution even just by itself - yes, IPv4-only applications and address literals exist, but most simple client/server applications Just Work behind it.
>>> And that 90% “solution” has lots of down sides.  It basically requires EVERY DNS VALIDATOR ON
>>> DNS64/NAT64 was presented as NOT REQUIRING node changes when first mooted.  It keeps on
>>> requiring more and more highly invasive node changes to support.  It was from the very beginning
>>> bad engineering.   To get IPv4 as a service some node changes are required.  Lets make sure they
>>> are MINIMAL ones.
>>> Just for the record DNSSEC validators need to send BOTH CD=0 and CD=1 queries to get answers
>>> though a upstream VALIDATING server which includes a VALIDATING DNS64 server as CD=0 and
>>> CD=1 address different DNSSEC threats.  I tried very hard to point that out when RFC 6147 was
>>> being written but the working group decide that CD indicated whether the client was validating or
>>> not.  There is NO SUCH INDICATION in a DNS message.
>>>  If a query arrives at a vDNS64 device with the "Checking Disabled"
>>>   (CD) bit set, it is an indication that the querying agent wants all
>>>   the validation data so it can do checking itself.  By local policy,
>>>   vDNS64 could still validate, but it must return all data to the
>>>   querying agent anyway.
>>> CD=0 queries causes the upstream validating servers to reject incoming spoofed answers
>>> or stale answers (this is a common operational problem).
>>> CD=1 queries allow the validation to succeed when the upstream validator has a bad trust
>>> anchor or a bad clock which is rejecting legitimate answers.
>>> A validating client can’t just send CD=1 queries as the upstream validator doesn’t kick in.
>>> The upstream validator can lock onto a stale answer source.  It needs to send CD=0 queries
>>> on validation failure to force the upstream validator to try multiple sources.
>>> A validating client can’t just send CD=0.  It needs to send CD=1 on SERVFAIL in case the
>>> upstream validator has a bad trust anchor (likely with the upcoming root KSK roll) or has
>>> a bad clock (these usually get fixed fast).
>>> Now to get a answer from a signed zone with servers with stale answers a validatiing DNS64 client
>>> needs to send:
>>> a) send CD=1 and validation failure send CD=0 then on AAAA validation failure send CD=1 and
>>>    hope the TTL was not 0 and that is not cachable and there is no assurance that you won’t get
>>>    a answer from a stale source.
>>>       or
>>> b) send CD=0 and on validation failure of the AAAA send CD=1 and hope the TTL was not 0 as
>>>    that is not cachable and there is no assurance that you won’t get a answer from a stale source.
>>> TTL=0 answers exist.
>>> Note none of this is documented in a RFC.  You have to understand how both DNSSEC and DNS64 work to
>>> realise this.
>>> IPV4ONLY.ARPA is currently has a secure delegation which breaks prefix discover for DNS VALIDATORS.
>>> Note “ad” is set in the flags.  Yes, I’ve submitted a errata.  Yes, I’ve opened a ticket to get it fixed but
>>> based on past experience that could take months if it happens at all.  You will note that the recursive
>>> server is running on the loopback interface so all DNS answers are being validated here.
>>> [rock:bind9/bin/named] marka% dig IPV4ONLY.ARPA
>>> ;; BADCOOKIE, retrying.
>>> ; <<>> DiG 9.12.0b2+hotspot+add-prefetch+marka <<>> IPV4ONLY.ARPA
>>> ;; global options: +cmd
>>> ;; Got answer:
>>> ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8504
>>> ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
>>> ; EDNS: version: 0, flags:; udp: 4096
>>> ; COOKIE: 7dbf8beb79be47a09eb5313d5a0b776f4fae3aa6931d9583 (good)
>>> ;IPV4ONLY.ARPA.                       IN      A
>>>                26574   IN      A
>>>                26574   IN      A
>>> ;; Query time: 0 msec
>>> ;; SERVER:
>>> ;; WHEN: Wed Nov 15 10:08:31 AEDT 2017
>>> ;; MSG SIZE  rcvd: 115
>>> [rock:bind9/bin/named] marka%
>>>> It's not true that all phones have clat support. Notably, Apple not only does not support it but appears ideologically opposed to it on the grounds that it does not have a good exit strategy (because it makes it possible to run IPv4-only apps forever).
>>> --
>>> Mark Andrews, ISC
>>> 1 Seymour St., Dundas Valley, NSW 2117, Australia
>>> PHONE: +61 2 9871 4742              INTERNET:
>>> --------------------------------------------------------------------
>>> IETF IPv6 working group mailing list
>>> Administrative Requests:
>>> --------------------------------------------------------------------
>> --------------------------------------------------------------------
>> IETF IPv6 working group mailing list
>> Administrative Requests:
>> --------------------------------------------------------------------
> --
> SY, Jen Linkova aka Furry
> --------------------------------------------------------------------
> IETF IPv6 working group mailing list
> Administrative Requests:
> --------------------------------------------------------------------