Windows Vista / 7 - pure IPv6 (NATPT)

marcelo bagnulo braun marcelo at it.uc3m.es
Thu Sep 2 07:35:17 CEST 2010


  El 02/09/10 1:42, Brandon Applegate escribió:
> On Thu, 2 Sep 2010, Steinar H. Gunderson wrote:
>
>> Den 1. september 2010 22:05 skrev Brandon Applegate 
>> <brandon at burn.net> følgende:
>>> So in short, it appears that Windows 7 fails using the patched BIND 
>>> DNS64
>>> solution above, but works as expected using the built in DNS ALG in 
>>> IOS.
>>
>> Does the DNS ALG in IOS trigger on TCP DNS on these days? If not,
>> you're in for some fairly unpredictable behavior.
>>
>> (Last time I tested, it would just eat the DNS packets, hanging the 
>> request.)
>>
>> /* Steinar */
>> -- 
>> Software Engineer, Google Switzerland
>>
>
> Yes, I just tried it.  TCP gets eaten and EDNS doesn't do any better.  
> So yes, IOS DNS ALG (at least in the IOS I'm running) is nowhere near 
> ready to use in the real world.
>
> I really liked the BIND DNS64.  Would like to do some more captures to 
> see if I can figure out what is making Windows7 unhappy.  I'm guessing 
> it's the fact that the BIND DNS64 gives back the A record answers as 
> well as the synthesized AAAA when the question was only AAAA.  Linux 
> doesn't seem to care about this.  Windows gets tied in a knot 
> (initially, subsequent (after cache) queries work).


but this shouldn't be happening in the general case, afaict.
In section 5.1 of draft-ietf-behave-dns64-10 it reads:

" If there is (non-excluded) AAAA data available, DNS64 SHOULD NOT 
include synthetic AAAA RRs in the response"

The motivations for not complying with this SHOULD as well as the 
implications of failing to comply with this should and possible ways to 
deal with these implications are described in the apendix A of the spec, 
where it reads:


    Appendix A. Motivations and Implications of synthesizing AAAA Resource


              Records when real AAAA Resource Records exist

    The motivation for synthesizing AAAA RRs when real AAAA RRs exist is
    to support the following scenario:

       An IPv4-only server application (e.g. web server software) is
       running on a dual-stack host.  There may also be dual-stack server
       applications running on the same host.  That host has fully
       routable IPv4 and IPv6 addresses and hence the authoritative DNS
       server has an A and a AAAA record.

       An IPv6-only client (regardless of whether the client application
       is IPv6-only, the client stack is IPv6-only, or it only has an



Bagnulo, et al.          Expires January 6, 2011               [Page 29]

    <http://tools.ietf.org/html/draft-ietf-behave-dns64-10#page-30>
Internet-Draft                    DNS64                        July 2010


       IPv6 address) wants to access the above server.

       The client issues a DNS query to a DNS64 resolver.

    If the DNS64 only generates a synthetic AAAA if there's no real AAAA,
    then the communication will fail.  Even though there's a real AAAA,
    the only way for communication to succeed is with the translated
    address.  So, in order to support this scenario, the administrator of
    a DNS64 service may want to enable the synthesis of AAAA RRs even
    when real AAAA RRs exist.

    The implication of including synthetic AAAA RRs when real AAAA RRs
    exist is that translated connectivity may be preferred over native
    connectivity in some cases where the DNS64 is operated in DNS server
    mode.

    RFC3484  <http://tools.ietf.org/html/rfc3484>  [RFC3484  <http://tools.ietf.org/html/rfc3484>] rules use longest prefix match to select the
    preferred destination address to use.  So, if the DNS64 resolver
    returns both the synthetic AAAA RRs and the real AAAA RRs, then if
    the DNS64 is operated by the same domain as the initiating host, and
    a global unicast prefix (called an NSP in
    [I-D.ietf-behave-address-format  <http://tools.ietf.org/html/draft-ietf-behave-dns64-10#ref-I-D.ietf-behave-address-format>]) is used, then a synthetic AAAA RR
    is likely to be preferred.

    This means that without further configuration:

       In the "An IPv6 network to the IPv4 Internet" scenario, the host
       will prefer translated connectivity if an NSP is used.  If the
       Well-Known Prefix defined in [I-D.ietf-behave-address-format  <http://tools.ietf.org/html/draft-ietf-behave-dns64-10#ref-I-D.ietf-behave-address-format>] is
       used, it will probably prefer native connectivity.

       In the "IPv6 Internet to an IPv4 network" scenario, it is possible
       to bias the selection towards the real AAAA RR if the DNS64
       resolver returns the real AAAA first in the DNS reply, when an NSP
       is used (the Well-Known Prefix usage is not supported in this
       case)

       In the "An IPv6 network to IPv4 network" scenario, for local
       destinations (i.e., target hosts inside the local site), it is
       likely that the NSP and the destination prefix are the same, so we
       can use the order of RR in the DNS reply to bias the selection
       through native connectivity.  If the Well-Known Prefix is used,
       the longest prefix match rule will select native connectivity.

    The problem can be solved by properly configuring theRFC3484  <http://tools.ietf.org/html/rfc3484>
    [RFC3484  <http://tools.ietf.org/html/rfc3484>] policy table.


You can find the full spec at

http://tools.ietf.org/html/draft-ietf-behave-dns64-10

Regards, marcelo



>
> -- 
> Brandon Applegate - CCIE 10273
> PGP Key fingerprint:
> 7407 DC86 AA7B A57F 62D1 A715 3C63 66A1 181E 6996
> "SH1-0151.  This is the serial number, of our orbital gun."
>



More information about the ipv6-ops mailing list