iPv6 Only network Sharing

Hi All,


For IPv6 testing of our apps, we set up IPv6 using Macbook (OS X El captain 10.11.4) following the below guidelines:


https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW16


After the setup we connected iphone 6 iOS 9.3.1 to the Wifi from this Macbook. In order to test whether IPv6 has been set up properly, we used the test site: test-ipv6.com and get that "You will not be able to reach IPv6-only sites".

From this we infer that IPv6 set up did not happen properly. Can any one help what are we missing in the set up or are we are not correctly performing the test?


Thanks

Replies

You have, alas, got the wrong end of the stick. Internet Sharing’s DNS64/NAT64 test network takes an IPv4 network and shares it as an IPv6-only network, where machines on the shared network access servers on the Internet via IPv6 that’s then translated by the DNS64/NAT64 gateway within Internet Sharing. That gateway does not give you native IPv6 access to IPv6 servers on the Internet.

For general information about this overall issue, read my Supporting IPv6-only Networks pinned post.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi eskimo,


Thanks for your response.

I am able to setup test network via Test for IPv6 DNS64/NAT64 Compatibility Regularl

Now when i tested via "test-ipv6.com" in desktop it share both ipv6 and ipv4 network ip address but same when i perform with device it just show ipv4 network ip address.

Desktop :


Your IPv4 address on the public Internet appears to be 202.1..........

Your IPv6 address on the public Internet appears to be 2402:f......

Your Internet Service Provider (ISP) appears to be GL......

Good news! Your current configuration will continue to work as web sites enable IPv6.

iPad : (Where ipad using MAC internet sharing)

Your IPv4 address on the public Internet appears to be 202.1..........

Your Internet Service Provider (ISP) appears to be GL......

You appear to be able to browser the iPv4 internet only. You will not be able to reach iPv6 only sites.

Please suggest.



Thanks

Anita

Ah, I see, you have dual stack support on the network hosting your DNS64/NAT64 test network. Unfortunately, the Internet Sharing DNS64/NAT64 feature is unable to take advantage of that right now. This limitation is called out in the Test for IPv6 DNS64/NAT64 Compatibility Regularly section of the Networking Overview, which says:

Note that, unlike DNS64/NAT64 workflows deployed by service providers, a Mac-Based IPv6 DNS64/NAT64 always generates synthesized IPv6 addresses. Therefore, it does not provide access to IPv6-only servers outside of your local network.

We’re tracking this issue as a bug (r. 24142384) but I don’t have anything to say as to when it might get fixed.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

So, is there any way how can i test my application on device till the time bug is not fixed? Can i get rid of dual stack support what all prons and cons i need face if i do that ?

So, is there any way how can i test my application on device till the time bug is not fixed?

There are various fully-featured DNS64/NAT64 gateways out there — some commercial, some open source — that you could set up. I’ve not done this, and so don’t have any specific recommendations.

Can i get rid of dual stack support what all prons and cons i need face if i do that ?

I wouldn’t do that. Having a dual stack network is super useful because, if you run your app on that network then the chances are that any connections you make to IPv6-capable servers will actually go via IPv6.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Okay, one last question

https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html

In Apple developer support document under section "To set up a local IPv6 Wi-Fi network using your Mac", point 1 it says system must connect with internet but not with WIFI so the internet we used should support ipv6 and ipv4 or if we have only ipv4 connection it can share ipv6 via NAT64.


Thank You eskimo, really appreciate all your response and help.

I’m not sure I understand your specific question so I’m going to provide a general answer:

  • For the sake of this discussion, let’s assume you have a Mac with Ethernet and Wi-Fi, where Ethernet is connected to the wider Internet that you want to share to client devices over Wi-Fi.

  • Internet Sharing’s DNS64/NAT64 feature requires IPv4 on the Ethernet interface. That is, your Ethernet interface can be connected to an IPv4-only network or a dual stack (IPv4 and IPv6) network.

  • If it’s connected to a dual stack network, it will ignore IPv6 on that network and act like it’s IPv4-only.

  • It will then share that network on the Wi-Fi as IPv6-only.

  • The upshot is that, when an iOS device joins a DNS64/NAT64 network created by Internet Sharing, all connections are IPv6 over the Wi-Fi, then run through the NAT, then are IPv4 over the wider Internet.

  • This is different from how DNS64/NAT64 works on production networks, where you’ll get a straight through IPv6 connection if the server supports IPv6.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi, So now the story is: In my MAC i have ipv4 connection via Internet sharing mechanism with NAT64 i am able to share my WIFI and connect my iPAD so

now I am getting iPv6 address as shown below but internet is not working in chrome or safari though I can navigate to my application and other app need internet access so i think internet is working but how can i test that my iPad using which network as internet not working on any of the browser. I tried testing with test-ipv6.com but it display message "No internet access"


.

Hi eskimo,


I have set that up as described in the documents, and in your post, but all internet stopped working on the test device.
Not even Safari can open websites anymore (like apple.com for example).

What could it be?

I don’t have any suggestions for how to debug MacNAT64. I use this feature myself on a fairly regular basis and it always works for me (for example, I retested it just over a month ago, as documented in this post). My recommendation here is the same as my recommendation there: retest with DNS64/NAT64 disabled. If that also fails, this is something that you can ask AppleCare about.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Im running on a Late 2011 17" macbook pro and an iPhone 6S, both with latest mac OS / iOS version.

Macbook is connected through thunderbolt ethernet adapter.


With internet sharing enabled and NAT64 unchecked, on iPhone Safari can open apple.com and my app works aswell.

With NAT64 checked, the iphone displays the following for the connection:

IPV4 address:

Configure IP: Automatic

IP Address: 169.254.250.194

Subnet mask: 255.255.0.0

Router: empty


IPV6 address

IP Address: 2 addresses

Router: fe80::3c07:54ff:fe33:2e64


DNS:

Configure DNS: Automatic (in details, it shows DNS Servers: 2001:2:0:aab1::1)


Safari can't open apple.com, it says server cannot be found. My app doesnt work. No app has internet access.



As for the wired connection, if i go to System Preferences, Network, I have both IPV4 address and DNS, and 2 IPV6 addresses and DNS(fe80::1), so that would make it a dual stack connection?


So in this case, should I still contact Apple care to diagnose why simply enabling NAT64 on internet sharing breaks everything?

So in this case, should I still contact Apple care to diagnose why simply enabling NAT64 on internet sharing breaks everything?

I do not know if AppleCare supports that configuration.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Just to shed a bit more light to this:

That was my setup at home.

I tested the same thing on a 2015? Macbook pro at work, same iPhone and it all worked.

I brought the work macbook at home and again it does not work.


So this turns out to be an issue with my home network, probably on the ISP side im guessing.


Im still clueless of why it doesnt work for the Apple review team, but that is probably another issue not related to IPV6.


Thanks for your help Eskimo.