> -----Original Message-----
> From: Arne Schwabe <a...@rfc2549.org>
> Sent: July 7, 2018 09:34
> To: Kristian McColm <kristianmcc...@hotmail.com>; openvpn-
> de...@lists.sourceforge.net
> Subject: Re: [Openvpn-devel] OpenVPN Connect App on IOS // Support for
> IPv6-only networks with DNS64/NAT64
> 
> Am 07.07.18 um 03:27 schrieb Kristian McColm:
> > Hello List,
> >
> > As you may be aware, the Internet is running/has run out of IPv4 address
> space. To that end, I am a part of a team at a national mobile network
> operator who are working on deploying IPv6-only mode to our Android and
> iPhone handsets, and deprecating the use of IPv4 on our netowrk. Since we
> have begun migrations to IPv6-only mode, we have received a few
> complaints from users of the OpenVPN Connect app on IOS stating that their
> VPN tunnels are establishing but they are unable to pass and data inside the
> tunnel.
> >
> > We have been able to reproduce the issue using an OpenVPN server 2.4.6
> on Fedora Linux 26 and an iPhone running IOS 11.3.1 and version 1.2.0 build
> 0 (iOS 64-bit). The VPN server is IPv4 only and using UDP transport. The IOS
> device is on an IPv6-only network that provides DNS64/NAT64 for 6to4
> translation. The Android device is running Android 6.0.1 and OpenVPN
> Connect version 3.0.5 (1816). Using the same client profile (.ovpn file) on
> both the Android and and IOS clients, and the same cell network settings and
> VPN server, we observe that the VPN tunnel is established OK on both
> devices, but only the Android is able to pass data traffic inside the VPN
> tunnel.
> >
> > Is anyone aware of whether the developers of this application have any
> experience testing the IOS version of the app on IOS devices on IPv6-only
> networks, and moreover are the developers aware of and ensuring the app
> is compliant with Apple standards for IPv6-only networks as documented
> here: https://developer.apple.com/support/ipv6?
> >
> > As per our understanding, Apple are actively pursuing apps which are not
> compliant with these standards, since IOS does not provide 464XLAT at the
> current time and compliance with Apple's standard is the only way to ensure
> compatibility with IPv6-only networks such as ours.
> >
> > If anyone who has any feedback or would like me to test anything or
> provide any further assistance I would be glad to assist.
> 
> From my experience with Android and NAT64:
> 
> - T-mobile US had (or still has?) an issue with MTU on UDP connections on
> NAT64. Behaviour looks similar to what you are experiencing. Try if using TCP
> or UDP makes a difference.
>
> 
> - Too often profiles have literal IPv4 addresses in them instead of IPv6.
> Google patched its XLAT464 to even allow VPN tunnel to work over
> XLAT464 (urgh)
> 
> - For split tunnel configuration, setting a IPv4 DNS that is unreachable might
> also cause troubles.
> 
> - Reconecting involving NAT64/DNS64 networks often breaks because the
> whole "what DNS does the VPN app use" is a total mess and often end up
> with the wrong address (unmapped, still mapped when switching to WiFi).
> 
> Arne

My profile is using FQDN for the remote VPN host, but the issue comes when apps 
on the IOS device try to communicate with a server on the other side of the 
tunnel using IPv4 literals. The IOS device is still synthesizing the IPv4 
literal with a NAT64 prefix and this is not routable via the VPN so it fails to 
work. I was able to resolve this by setting an IPv4 default route using the 
push command in the server profile. It seems that IOS will continue to 
synthesize the IPv4 literal when there is not a default route available on an 
IPv4 addressed interface.

Now I am running into the MTU problem you mentioned above. I'm not on the 
TMobile network, but it’s a very similar configuration. I believe the issue is 
that the IP header is 40 bytes in IPv6 and therefore the payload needs to be 
reduced to allow the packets to traverse the NAT64. My VPN server is receiving 
ICMP Unreachables from IPv4 side of the NAT64 and my firewall on the VPN server 
permits them, but it seems as though the VPN server side doesn’t handle them 
properly for whatever reason, as it continues to send packets to the VPN client 
that are too big to fit through the NAT64.

I tried setting "mtu-disc yes" in the VPN server but it didn’t appear to have 
any affect. Do you have any advice on how to handle this scenario?
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to