[BEHAVE] Proposed change to dns64 document
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[BEHAVE] Proposed change to dns64 document
Dear colleagues,
There remain a couple outstanding issues with the DNS64 document, both
of which have to do with cases where we have more than one interface.
Section 5.6 currently has this:
5.6. DNS64 and multihoming
Synthetic AAAA records may be constructed on the basis of the network
context in which they were constructed. Therefore, a synthetic AAAA
received from one interface MUST NOT be used to resolve hosts via
another network interface. Because it will be hard (if not
impossible) for a multihomed system to tell whether a given AAAA is
synthetic, a host SHOULD treat any AAAA record received on a given
interface as local to that interface; the alternative risks
communication failures when the AAAA is used to communicate on
another interface. See the discussion in
[I-D.savolainen-mif-dns-server-selection].
Section 6 currently mentions dual-stack hosts, but does not actually
address the case of a dual-stack host or treat what the interaction
between dual-stack and DNS64 is.
I propose to remove 5.6, and replace it with a new section 6.3 that
addresses multihoming and dual-stack. The new proposed text is a
little long-winded, but given that this issue has come up in a few
different guises, I thought it better to aim for completeness. Note
that there is no RFC2119 language in here, because one of the Chairs
suggested we can't purport to regulate client behaviour from inside
the server-behaviour specification. The new text:
6.3 DNS64 and multihomed and dual-stack hosts
6.3.1 IPv6 multihomed hosts
Synthetic AAAA records may be constructed on the basis of the
network context in which they were constructed. If a host has
multiple interfaces, it is possible that some of them will receive
answers from a DNS64 without all of them being connected via a
NAT64. For instance, suppose a system has two interfaces, i1 and
i2. Whereas i1 is connected to the IPv4 Internet via NAT64, i2 has
native IPv6 connectivity only. I1 might receive a AAAA answer from
a DNS64 that is configured for a particular NAT64; the IPv6 address
contained in that AAAA answer will not connect with anything via
i2.
This example illustrates why it is generally preferable that hosts
treat DNS answers from one interface as local to that interface.
The answer received on one interface will not work on the other
interface. Hosts that attempt to use DNS answers globally may
encounter surprising failures in these cases. For more discussion
of this topic, see [I-D.savolainen-mif-dns-server-selection].
6.3.2 Accidental dual-stack DNS64 use
Similarly, suppose that i1 has IPv6 connectivity and can connect to
the IPv4 Internet through NAT64, but i2 has IPv4 native transit.
In this case, i1 could receive an IPv6 address from a synthetic
AAAA that would better be reached via native IPv4 transit.
Since it is most likely that the host will attempt AAAA resolution
first, in this arrangement the host will often use the NAT64 when a
native IPv4 would be preferable. For this reason, hosts with IPv4
connectivity to the Internet should avoid using DNS64. This can be
partly resolved by ISPs when providing DNS resolvers to clients,
but that is not a guarantee that the NAT64 will never be used when
a native IPv4 connection should be used. There is no
general-purpose mechanism to ensure that native IPv4 transit will
always be preferred, because to a DNS64-oblivious host, the DNS64
looks just like an ordinary DNS server. Operators of a NAT64
should expect traffic to pass through the NAT64 even when it is not
necessary.
6.3.3 Intentional dual-stack DNS64 use
Finally, consider the case where the IPv4 connectivity on i2 is
only to a LAN, with an IPv6-only connection on i1 to the Internet,
connecting to the IPv4 Internet via NAT64. Traffic to the LAN may
not be routable from the global Internet, as is often the case (for
instance) with LANs using RFC1918 addresses. In this case, it is
critical that the DNS64 not synthesize AAAA responses for hosts in
the LAN, or else that the DNS64 be aware of hosts in the LAN and
provide context-sensitive answers ("split view" DNS answers) for
hosts inside the LAN. As with any split view DNS arrangement,
operators must be prepared for data to leak from one context to
another, and for failures to occur because nodes accessible from
one context are not accessible from the other.
Your comments are soliticted.
Best regards,
A
--
Andrew Sullivan
ajs at shinkuro.com
Shinkuro, Inc.
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.