Re: [v6ops] draft-palet-v6ops-nat64-deployment-02 comments

JORDI PALET MARTINEZ <jordi.palet@consulintel.es> Mon, 02 July 2018 20:17 UTC

Return-Path: <prvs=172119e98a=jordi.palet@consulintel.es>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5BB601311ED for <v6ops@ietfa.amsl.com>; Mon, 2 Jul 2018 13:17:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=consulintel.es
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3iYS5uowjK_2 for <v6ops@ietfa.amsl.com>; Mon, 2 Jul 2018 13:17:53 -0700 (PDT)
Received: from mail.consulintel.es (mail.consulintel.es [IPv6:2001:470:1f09:495::5]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0417F1312F9 for <v6ops@ietf.org>; Mon, 2 Jul 2018 13:17:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple; d=consulintel.es; s=MDaemon; t=1530562662; x=1531167462; i=jordi.palet@consulintel.es; q=dns/txt; h=User-Agent:Date: Subject:From:To:CC:Message-ID:Thread-Topic:References: In-Reply-To:Mime-version:Content-type:Content-transfer-encoding; bh=5oI42xCSodGGPdmFpaspRmwG3oAkcVpoARAyh6R2q4I=; b=Sm5vWMTJEBoK2 sirc/Rvv8sgJ2cjj/NXqZEQI64IMVoiT4Jiy5g9i/tOqfWyW4KzEY9Kua+Y9pYdF fnOK2EESb+qR4bCpLPf7bcTV+6tViYlyEY8IVJPN2rCoazsmij4vaAyS6Vk5lbZW BJrHSzVVLUI0LkkyKN1CZclyM6IHAY=
X-MDAV-Result: clean
X-MDAV-Processed: mail.consulintel.es, Mon, 02 Jul 2018 22:17:42 +0200
X-Spam-Processed: mail.consulintel.es, Mon, 02 Jul 2018 22:17:41 +0200
Received: from [10.10.10.130] by mail.consulintel.es (MDaemon PRO v16.5.2) with ESMTPA id md50005804212.msg for <v6ops@ietf.org>; Mon, 02 Jul 2018 22:17:40 +0200
X-MDRemoteIP: 2001:470:1f09:495:e9ae:647:ee61:1b1a
X-MDHelo: [10.10.10.130]
X-MDArrival-Date: Mon, 02 Jul 2018 22:17:40 +0200
X-Authenticated-Sender: jordi.palet@consulintel.es
X-Return-Path: prvs=172119e98a=jordi.palet@consulintel.es
X-Envelope-From: jordi.palet@consulintel.es
X-MDaemon-Deliver-To: v6ops@ietf.org
User-Agent: Microsoft-MacOutlook/10.e.1.180613
Date: Mon, 02 Jul 2018 22:17:36 +0200
From: JORDI PALET MARTINEZ <jordi.palet@consulintel.es>
To: Fred Baker <fredbaker.ietf@gmail.com>
CC: "v6ops@ietf.org list" <v6ops@ietf.org>
Message-ID: <6195FD70-2934-46D0-8D39-D7FF15844CF7@consulintel.es>
Thread-Topic: [v6ops] draft-palet-v6ops-nat64-deployment-02 comments
References: <663F489C-7F63-4B0C-A5E6-F7EE4634E62B@gmail.com> <60335039-287e-4fb3-870b-2c4fe9b5445d@otenet.gr> <2D196DD1-FF0F-4365-8F50-5AD98DCBA989@gmail.com> <787AE7BB302AE849A7480A190F8B93302DF4F296@OPEXCLILMA3.corporate.adroot.infra.ftgroup> <1F8254E0-D425-486A-B744-EDA836266D99@consulintel.es> <0DEE4384-5CEE-4F9D-8152-4C10B5AEA365@gmail.com>
In-Reply-To: <0DEE4384-5CEE-4F9D-8152-4C10B5AEA365@gmail.com>
Mime-version: 1.0
Content-type: text/plain; charset="UTF-8"
Content-transfer-encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/ewZ5yW_MNZo_0MwAjQFVofYTQF0>
Subject: Re: [v6ops] draft-palet-v6ops-nat64-deployment-02 comments
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Jul 2018 20:18:03 -0000

Hi Fred,



I think is much simpler than all that.



DNSSEC is *only* broken if the dual-stack host is doing DNSSEC validation over the synthetized AAAA.



That's why, according Jen work, it only happens around 1.7% of the times, because not many OSs/apps/hosts do that (today). Of course, the goal of DNSSEC deployment is that it always done, so this % may increase.



Of course, it may happen as well in the ISP DNSSEC validator (or other validators being used, etc.), if is a DNS which is now aware of DNS64. For example, default DNS64 in bind, doesn't cause that problem, unless you wrongly configure it.



The point is if I'm an ISP, even if 1.7% is very small fraction, do I want that to come back to my call-center?



Even if I'm an ISP deploying DNS64, users change DNSs ... so they may break other aspects (NAT64 prefix discovery), or they will end up using 8.8.8.8 and of course this is not a DNS64.



I think I've explained that in the document but will make sure to review any relevant text where it is not clear.



Regards,

Jordi

 

 



-----Mensaje original-----

De: Fred Baker <fredbaker.ietf@gmail.com>

Fecha: lunes, 2 de julio de 2018, 21:55

Para: JORDI PALET MARTINEZ <jordi.palet@consulintel.es>

CC: "v6ops@ietf.org list" <v6ops@ietf.org>

Asunto: Re: [v6ops] draft-palet-v6ops-nat64-deployment-02 comments



    No hats, and a comment to get picked up next week, not before 23:59 UTC today.

    

    I'm thinking further about the statement that "DNS64 breaks DNSSEC". I think that is just incorrect.

    

    Here's the scenario. I'm thinking from the perspective of the user of DNS64 in

    

                             +----+                +----+

                             |DNS |     +-----+    |DNS |

                             |IPv6|     |DNS64|    |IPv4|

                             +--+-+     +-----+    +--+-+

     +------+ v6 +------+       |      /       \      |

     |      +----+      |    ,--+--.  /         \  ,--+--.

     |Dual  |    | IPv6 |   /       \/   ,---.   \/       \

     |Stack |  +-+Router+--(  IPv6   )--( PLAT)--(  IPv4   )

     |Device|v4|C|      |   \Network/`.  `---'    \Network/

     |      +--+L|      |    `--+--'   `.         /`-----'

     +------+  |A|      |       |        `+------+

               |T|      |    +--+---+     | Peer |

               +-+------+    | IPv6 |     |Device|

                             |Device|     +------+

                             +------+

    

    which might be the IPv6 side of the "Dual Stack Device" or might be the "IPv6 Device". There are two sets of possibilities:

    

    From an IPv6 perspective (either device), assuming the response contains correct data, a request for a AAAA record will yield one of four things:

    

    1) NXDOMAIN

    2) a signed AAAA record

    3) an unsigned but valid native AAA record

    4) an unsigned DNS64-generated IPv4-embedded IPv6 Address, the synthesis of an IPv6 prefix and an IPv4 address.

    

    Barring a few exclusions, #4 will never happen if a native AAAA record is known by the DNS64 device (https://tools.ietf.org/html/rfc6147#section-5.1.1).

    

    From an IPv4 perspective, the "Dual Stack Device" will also request an A record, and might get:

    

    1) NXDOMAIN

    2) a signed A record

    3) an unsigned but valid native A record

    

    In either case, NXDOMAIN (option #1) kind of closes the options. I should expect the device(s) will prefer a signed record to an unsigned one, which might mean that the "Dual Stack Device" prefers a signed A record to an unsigned DNS64 AAAA record. If it gets two signed records, it's cook's choice, and the "Dual Stack Device" is likely to prefer the signed AAAA record to the signed A record "just because". If it gets no signed records, I don't know offhand how it would tell a native address from a DNS64 address without parsing the address in the AAAA record. So it might use a generated address to get to the PLAT or let the CLAT create an address to get to the PLAT. But in either case, if DNS64 is in use, it gets to the PLAT, so it probably doesn't matter.

    

                    +--------+--------+----------+

      IPv6:    IPv4:|NXDOMAIN|Signed A|Unsigned A|

     +--------------+========+========+==========+

     |NXDOMAIN      |  fail  |use A   | use A    |

     +--------------+--------+--------+----------+

     |Signed AAAA   |use AAAA|choice  | use AAAA |

     +--------------+--------+--------+----------+

     |Unsigned AAAA |use AAAA|use A   | choice   |

     +--------------+--------+--------+----------+

     |DNS64 AAAA    |use AAAA|use A   | choice   |

     +--------------+--------+--------+----------+

    

    But I don't see any case in which an unsigned record replaces a signed record, or a signed record cannot be verified, which is what would break DNSSEC.

    

    Hence, I don't think DNS64 "breaks" DNSSEC. It enables connectivity in cases where NXDOMAIN would disable connectivity, and the user goes through a NAT, with all the evils that implies.

    




**********************************************
IPv4 is over
Are you ready for the new Internet ?
http://www.consulintel.es
The IPv6 Company

This electronic message contains information which may be privileged or confidential. The information is intended to be for the exclusive use of the individual(s) named above and further non-explicilty authorized disclosure, copying, distribution or use of the contents of this information, even if partially, including attached files, is strictly prohibited and will be considered a criminal offense. If you are not the intended recipient be aware that any disclosure, copying, distribution or use of the contents of this information, even if partially, including attached files, is strictly prohibited, will be considered a criminal offense, so you must reply to the original sender to inform about this communication and delete it.